namespace DropCashMenu { final class DropCashMenu { private CTextMenu@ m_pETCMenu = null; private CTextMenu@ m_pSkinMenu = null; private CTextMenu@ m_pSummonMenu = null; private CTextMenu@ m_pSummon2Menu = null; private CTextMenu@ m_pAllyNPCMenu = null; private CTextMenu@ m_pEnemyNPCMenu = null; private CTextMenu@ m_pEnemyNPC2Menu = null; private CTextMenu@ m_pEnemyNPC3Menu = null; private CTextMenu@ m_pEnemyNPC4Menu = null; private CTextMenu@ m_pSkinMenu1 = null; private CTextMenu@ m_pSkinMenu2 = null; private CTextMenu@ m_pSkinMenu3 = null; private CTextMenu@ m_pSkinMenu4 = null; private CTextMenu@ m_pSkinMenu5 = null; private CTextMenu@ m_pSkinMenu6 = null; private CTextMenu@ m_pSkinMenu7 = null; private CTextMenu@ m_pSkinMenu8 = null; private CTextMenu@ m_pSkinMenu9 = null; private CTextMenu@ m_pSkinMenu10 = null; private CTextMenu@ m_pSkinMenu11 = null; private CTextMenu@ m_pCNPCMenu = null; private CTextMenu@ m_pADDNPCMenu = null; bool RemoveSingleItem(CBasePlayer@ pTarget, string targetWeapon) { //instantly fail if attempting to remove the afb's entmover if(targetWeapon == "weapon_entmover") return false; CBasePlayerItem@ pItem; CBasePlayerWeapon@ pWeapon; for(uint j = 0; j < MAX_ITEM_TYPES; j++) { @pItem = pTarget.m_rgpPlayerItems(j); while(pItem !is null) { @pWeapon = pItem.GetWeaponPtr(); if(pWeapon.GetClassname() == targetWeapon) { pTarget.RemovePlayerItem(pItem); return true; } @pItem = cast(pItem.m_hNextItem.GetEntity()); } } return false; } void Show( CBasePlayer@ pPlayer = null ) { if( m_pETCMenu is null ) CreateMenu(); if( pPlayer !is null ) m_pETCMenu.Open( 0, 0, pPlayer ); else m_pETCMenu.Open( 0, 0 ); } void ShowSummons( CBasePlayer@ pPlayer = null ) { if( m_pSummonMenu is null ) CreateMenu(); if( pPlayer !is null ) m_pSummonMenu.Open( 0, 0, pPlayer ); else m_pSummonMenu.Open( 0, 0 ); } void ShowSummons2( CBasePlayer@ pPlayer = null ) { if( m_pSummon2Menu is null ) CreateMenu(); if( pPlayer !is null ) m_pSummon2Menu.Open( 0, 0, pPlayer ); else m_pSummon2Menu.Open( 0, 0 ); } void SkinMenu( CBasePlayer@ pPlayer = null ) { if( m_pSkinMenu is null ) CreateMenu(); if( pPlayer !is null ) m_pSkinMenu.Open( 0, 0, pPlayer ); else m_pSkinMenu.Open( 0, 0 ); } void ShowCNPC( CBasePlayer@ pPlayer = null ) { if( m_pCNPCMenu is null ) CreateMenu(); if( pPlayer !is null ) m_pCNPCMenu.Open( 0, 0, pPlayer ); else m_pCNPCMenu.Open( 0, 0 ); } void ShowADDNPC( CBasePlayer@ pPlayer = null ) { if( m_pADDNPCMenu is null ) CreateMenu(); if( pPlayer !is null ) m_pADDNPCMenu.Open( 0, 0, pPlayer ); else m_pADDNPCMenu.Open( 0, 0 ); } private void CreateMenu() { @m_pETCMenu = CTextMenu( TextMenuPlayerSlotCallback( this.ETCCallback ) ); m_pETCMenu.SetTitle( "Amount of cash to drop:" ); m_pETCMenu.AddItem( "Drop $5" ); m_pETCMenu.AddItem( "Drop $10" ); m_pETCMenu.AddItem( "Drop $50" ); m_pETCMenu.AddItem( "Drop $100" ); m_pETCMenu.AddItem( "Drop $500" ); m_pETCMenu.AddItem( "Drop $1000" ); m_pETCMenu.AddItem( "Drop $5000" ); m_pETCMenu.AddItem( "Drop $10000" ); m_pETCMenu.AddItem( "Drop $50000" ); m_pETCMenu.AddItem( "Drop $100000" ); m_pETCMenu.Register(); @m_pSummonMenu = CTextMenu( TextMenuPlayerSlotCallback( this.SummonsCallback ) ); m_pSummonMenu.SetTitle( "Choose an NPC to summon:" ); m_pSummonMenu.AddItem( "Chumtoad (Permanent) $500" ); m_pSummonMenu.AddItem( "Houndeye (Permanent) $500" ); //m_pSummonMenu.AddItem( "Houndeye (Tough) (Permanent) $1000" ); m_pSummonMenu.AddItem( "Pit Drone (Permanent) $600" ); //m_pSummonMenu.AddItem( "Pit Drone (Tough) (Permanent) $1200" ); m_pSummonMenu.AddItem( "Barney (Permanent) $650" ); m_pSummonMenu.AddItem( "Female Assassin (Permanent) $700" ); //m_pSummonMenu.AddItem( "Alien Controller (Permanent) $700" ); m_pSummonMenu.AddItem( "Otis (Permanent) $750" ); m_pSummonMenu.AddItem( "Bullsquid (Permanent) $800" ); //m_pSummonMenu.AddItem( "Bullsquid (Tough) (Permanent) $1600" ); m_pSummonMenu.AddItem( "Sentry (Permanent) $1000" ); m_pSummonMenu.AddItem( "Gonome (Permanent) $1050" ); m_pSummonMenu.AddItem( "Shock Trooper (Permanent) $1100" ); m_pSummonMenu.AddItem( "Medic Grunt (Permanent) $1200" ); m_pSummonMenu.AddItem( "Alien Grunt (Permanent) $1280" ); m_pSummonMenu.AddItem( "Bodyguard with Shotgun (Permanent) $1300" ); m_pSummonMenu.AddItem( "Bodyguard with MP5 (Permanent) $1400" ); m_pSummonMenu.AddItem( "Bodyguard with Akimbo Uzis (Permanent) $1500" ); m_pSummonMenu.AddItem( "Bodyguard with M40A1 (Permanent) $1600" ); m_pSummonMenu.AddItem( "Bodyguard with Minigun (Permanent) $1700" ); m_pSummonMenu.AddItem( "Male Assassin with MP5 (Permanent) $1800" ); m_pSummonMenu.AddItem( "Male Assassin with M16 (Permanent) $1900" ); m_pSummonMenu.AddItem( "Male Assassin with M40A1 (Permanent) $2100" ); m_pSummonMenu.AddItem( "\\gAlly Grunt with Shotgun (Permanent) $2100\\w" ); m_pSummonMenu.AddItem( "\\gAlly Grunt with MP5 (Permanent) $2150\\w" ); m_pSummonMenu.AddItem( "\\gAlly Grunt with M16 (Permanent) $2200\\w" ); m_pSummonMenu.AddItem( "\\gAlly Grunt with M249 (Permanent) $2350\\w" ); m_pSummonMenu.AddItem( "\\gRPG Grunt (Permanent) $2400\\w" ); m_pSummonMenu.AddItem( "\\rRobo Grunt with Shotgun (Permanent) $3400\\w" ); m_pSummonMenu.AddItem( "\\rRobo Grunt with MP5 (Permanent) $3500\\w" ); m_pSummonMenu.AddItem( "\\rRobo Grunt with M16 (Permanent) $3800\\w" ); m_pSummonMenu.AddItem( "\\rRobo Grunt with RPG (Permanent) $3900\\w" ); m_pSummonMenu.AddItem( "\\rRobo Grunt with M40A1 (Permanent) $4000\\w" ); m_pSummonMenu.AddItem( "\\rHeavy Weapons Grunt (Permanent) $5000\\w" ); m_pSummonMenu.AddItem( "\\yVoltigore (Permanent) $10000\\w" ); m_pSummonMenu.AddItem( "\\yBaby Gargantua (Permanent) $12000\\w" ); m_pSummonMenu.AddItem( "\\yKingpin (Permanent) $15000\\w" ); m_pSummonMenu.AddItem( "\\yTor (Permanent) $20000\\w" ); m_pSummonMenu.AddItem( "\\yGargantua (Permanent) $50000\\w" ); //m_pSummonMenu.AddItem( "Zombie (5 Minutes) $1800" ); //m_pSummonMenu.AddItem( "MP5 Human Grunt (5 Minutes) $2400" ); //m_pSummonMenu.AddItem( "MP5 Female Assassin (5 Minutes) $2800" ); //m_pSummonMenu.AddItem( "Special Forces Grunt (5 Minutes) $3000" ); m_pSummonMenu.Register(); @m_pSummon2Menu = CTextMenu( TextMenuPlayerSlotCallback( this.NPCCallback ) ); m_pSummon2Menu.SetTitle( "Spawn NPC:" ); m_pSummon2Menu.AddItem( "Ally NPC", null ); m_pSummon2Menu.AddItem( "Enemy NPC Military Team", null ); m_pSummon2Menu.AddItem( "Enemy NPC Alien Xen Team", null ); m_pSummon2Menu.AddItem( "Enemy NPC Alien X-Race Team", null ); m_pSummon2Menu.AddItem( "Enemy NPC Default", null ); m_pSummon2Menu.Register(); @m_pAllyNPCMenu = CTextMenu( TextMenuPlayerSlotCallback( this.AllyNPCCallback ) ); m_pAllyNPCMenu.SetTitle( "Ally NPC's:" ); m_pAllyNPCMenu.AddItem( "Chumtoad" ); m_pAllyNPCMenu.AddItem( "Gonome", null ); m_pAllyNPCMenu.AddItem( "Pit drone", null ); m_pAllyNPCMenu.AddItem( "Voltigore", null ); m_pAllyNPCMenu.AddItem( "Babygarg", null ); m_pAllyNPCMenu.AddItem( "Gargantua", null ); m_pAllyNPCMenu.AddItem( "Gonarch", null ); m_pAllyNPCMenu.AddItem( "Kingpin", null ); m_pAllyNPCMenu.AddItem( "Tor", null ); m_pAllyNPCMenu.AddItem( "Alien Slave", null ); m_pAllyNPCMenu.AddItem( "Alien Grunt", null ); m_pAllyNPCMenu.AddItem( "Alien Grunt (Custom)", null ); m_pAllyNPCMenu.AddItem( "Alien Grunt Warrior (Custom)", null ); m_pAllyNPCMenu.AddItem( "Alien Grunt Master (Custom)", null ); m_pAllyNPCMenu.AddItem( "Alien Controller", null ); m_pAllyNPCMenu.AddItem( "Bullsquid", null ); m_pAllyNPCMenu.AddItem( "Houndeye", null ); m_pAllyNPCMenu.AddItem( "Headcrab", null ); m_pAllyNPCMenu.AddItem( "Zombie", null ); m_pAllyNPCMenu.AddItem( "Zombie v2", null ); m_pAllyNPCMenu.AddItem( "Zombie v3", null ); m_pAllyNPCMenu.AddItem( "Sentry", null ); m_pAllyNPCMenu.AddItem( "Barney (TEC-9)", null ); m_pAllyNPCMenu.AddItem( "Barney (Default)", null ); m_pAllyNPCMenu.AddItem( "Otis", null ); m_pAllyNPCMenu.AddItem( "Shock Trooper", null ); m_pAllyNPCMenu.AddItem( "Shock Trooper (Merc v1)", null ); m_pAllyNPCMenu.AddItem( "Shock Trooper (Merc v2)", null ); m_pAllyNPCMenu.AddItem( "Heavy Weapons Grunt", null ); m_pAllyNPCMenu.AddItem( "Heavy Weapons Grunt v2", null ); m_pAllyNPCMenu.AddItem( "Medic Grunt", null ); m_pAllyNPCMenu.AddItem( "M249 Grunt", null ); m_pAllyNPCMenu.AddItem( "Shotgun Grunt", null ); m_pAllyNPCMenu.AddItem( "MP5 Grunt", null ); m_pAllyNPCMenu.AddItem( "M16 Grunt", null ); m_pAllyNPCMenu.AddItem( "RPG Grunt", null ); m_pAllyNPCMenu.AddItem( "Sniper Grunt", null ); m_pAllyNPCMenu.AddItem( "Robo Grunt (MP5)", null ); m_pAllyNPCMenu.AddItem( "Robo Grunt (M16)", null ); m_pAllyNPCMenu.AddItem( "Robo Grunt (Shotgun)", null ); m_pAllyNPCMenu.AddItem( "Robo Grunt (RPG)", null ); m_pAllyNPCMenu.AddItem( "Robo Grunt (Sniper)", null ); m_pAllyNPCMenu.AddItem( "Female Assassin (Sniper)", null ); m_pAllyNPCMenu.AddItem( "Female Assassin (MP5)", null ); m_pAllyNPCMenu.AddItem( "Female Assassin (M16)", null ); m_pAllyNPCMenu.AddItem( "Female Assassin (Silenced Pistol)", null ); m_pAllyNPCMenu.AddItem( "Female Assassin (Silenced Uzi)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Pistol)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Eagle)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Shotgun)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Akimbo Uzis)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (MP5)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Sniper)", null ); m_pAllyNPCMenu.AddItem( "Bodyguard (Minigun)", null ); m_pAllyNPCMenu.AddItem( "Dr. Merkwurdiglust", null ); m_pAllyNPCMenu.AddItem( "Dr. Merkwurdiglust v2", null ); m_pAllyNPCMenu.AddItem( "Dr. Merkwurdiglust v3", null ); m_pAllyNPCMenu.AddItem( "Apache", null ); m_pAllyNPCMenu.AddItem( "Osprey", null ); m_pAllyNPCMenu.Register(); @m_pEnemyNPCMenu = CTextMenu( TextMenuPlayerSlotCallback( this.EnemyNPCCallback ) ); m_pEnemyNPCMenu.SetTitle( "Enemy NPC Military Team:" ); m_pEnemyNPCMenu.AddItem( "Chumtoad" ); m_pEnemyNPCMenu.AddItem( "Gonome", null ); m_pEnemyNPCMenu.AddItem( "Pit drone", null ); m_pEnemyNPCMenu.AddItem( "Voltigore", null ); m_pEnemyNPCMenu.AddItem( "Babygarg", null ); m_pEnemyNPCMenu.AddItem( "Gargantua", null ); m_pEnemyNPCMenu.AddItem( "Gonarch", null ); m_pEnemyNPCMenu.AddItem( "Kingpin", null ); m_pEnemyNPCMenu.AddItem( "Tor", null ); m_pEnemyNPCMenu.AddItem( "Alien Slave", null ); m_pEnemyNPCMenu.AddItem( "Alien Grunt", null ); m_pEnemyNPCMenu.AddItem( "Alien Grunt (Custom)", null ); m_pEnemyNPCMenu.AddItem( "Alien Grunt Warrior (Custom)", null ); m_pEnemyNPCMenu.AddItem( "Alien Grunt Master (Custom)", null ); m_pEnemyNPCMenu.AddItem( "Alien Controller", null ); m_pEnemyNPCMenu.AddItem( "Bullsquid", null ); m_pEnemyNPCMenu.AddItem( "Houndeye", null ); m_pEnemyNPCMenu.AddItem( "Headcrab", null ); m_pEnemyNPCMenu.AddItem( "Zombie", null ); m_pEnemyNPCMenu.AddItem( "Zombie v2", null ); m_pEnemyNPCMenu.AddItem( "Zombie v3", null ); m_pEnemyNPCMenu.AddItem( "Sentry", null ); m_pEnemyNPCMenu.AddItem( "Barney (TEC-9)", null ); m_pEnemyNPCMenu.AddItem( "Barney (Default)", null ); m_pEnemyNPCMenu.AddItem( "Otis", null ); m_pEnemyNPCMenu.AddItem( "Shock Trooper", null ); m_pEnemyNPCMenu.AddItem( "Shock Trooper (Merc v1)", null ); m_pEnemyNPCMenu.AddItem( "Shock Trooper (Merc v2)", null ); m_pEnemyNPCMenu.AddItem( "Heavy Weapons Grunt", null ); m_pEnemyNPCMenu.AddItem( "Heavy Weapons Grunt v2", null ); m_pEnemyNPCMenu.AddItem( "Medic Grunt", null ); m_pEnemyNPCMenu.AddItem( "M249 Grunt", null ); m_pEnemyNPCMenu.AddItem( "Shotgun Grunt", null ); m_pEnemyNPCMenu.AddItem( "MP5 Grunt", null ); m_pEnemyNPCMenu.AddItem( "M16 Grunt", null ); m_pEnemyNPCMenu.AddItem( "RPG Grunt", null ); m_pEnemyNPCMenu.AddItem( "Sniper Grunt", null ); m_pEnemyNPCMenu.AddItem( "Medic Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "M249 Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "M249 Grunt Elite (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "Shotgun Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "MP5 Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "M16 Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "RPG Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "Sniper Grunt (Terrorist)", null ); m_pEnemyNPCMenu.AddItem( "Terrorist Custom", null ); m_pEnemyNPCMenu.AddItem( "Terrorist Custom .v2", null ); m_pEnemyNPCMenu.AddItem( "Human Grunt Custom", null ); m_pEnemyNPCMenu.AddItem( "Robo Grunt (MP5)", null ); m_pEnemyNPCMenu.AddItem( "Robo Grunt (M16)", null ); m_pEnemyNPCMenu.AddItem( "Robo Grunt (Shotgun)", null ); m_pEnemyNPCMenu.AddItem( "Robo Grunt (RPG)", null ); m_pEnemyNPCMenu.AddItem( "Robo Grunt (Sniper)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin (Sniper)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin (MP5)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin Custom (MP5)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin Custom .v2 (MP5)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin (M16)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin (Silenced Pistol)", null ); m_pEnemyNPCMenu.AddItem( "Female Assassin (Silenced Uzi)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Pistol)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Eagle)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Shotgun)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Akimbo Uzis)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (MP5)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Sniper)", null ); m_pEnemyNPCMenu.AddItem( "Bodyguard (Minigun)", null ); m_pEnemyNPCMenu.AddItem( "Dr. Merkwurdiglust", null ); m_pEnemyNPCMenu.AddItem( "Dr. Merkwurdiglust v2", null ); m_pEnemyNPCMenu.AddItem( "Dr. Merkwurdiglust v3", null ); m_pEnemyNPCMenu.AddItem( "Apache", null ); m_pEnemyNPCMenu.AddItem( "Osprey", null ); m_pEnemyNPCMenu.Register(); @m_pEnemyNPC2Menu = CTextMenu( TextMenuPlayerSlotCallback( this.EnemyNPC2Callback ) ); m_pEnemyNPC2Menu.SetTitle( "Enemy NPC Alien Team:" ); m_pEnemyNPC2Menu.AddItem( "Chumtoad" ); m_pEnemyNPC2Menu.AddItem( "Gonome", null ); m_pEnemyNPC2Menu.AddItem( "Pit drone", null ); m_pEnemyNPC2Menu.AddItem( "Voltigore", null ); m_pEnemyNPC2Menu.AddItem( "Babygarg", null ); m_pEnemyNPC2Menu.AddItem( "Gargantua", null ); m_pEnemyNPC2Menu.AddItem( "Gonarch", null ); m_pEnemyNPC2Menu.AddItem( "Kingpin", null ); m_pEnemyNPC2Menu.AddItem( "Tor", null ); m_pEnemyNPC2Menu.AddItem( "Alien Slave", null ); m_pEnemyNPC2Menu.AddItem( "Alien Grunt", null ); m_pEnemyNPC2Menu.AddItem( "Alien Grunt (Custom)", null ); m_pEnemyNPC2Menu.AddItem( "Alien Grunt Warrior (Custom)", null ); m_pEnemyNPC2Menu.AddItem( "Alien Grunt Master (Custom)", null ); m_pEnemyNPC2Menu.AddItem( "Alien Controller", null ); m_pEnemyNPC2Menu.AddItem( "Bullsquid", null ); m_pEnemyNPC2Menu.AddItem( "Houndeye", null ); m_pEnemyNPC2Menu.AddItem( "Headcrab", null ); m_pEnemyNPC2Menu.AddItem( "Zombie", null ); m_pEnemyNPC2Menu.AddItem( "Zombie v2", null ); m_pEnemyNPC2Menu.AddItem( "Zombie v3", null ); m_pEnemyNPC2Menu.AddItem( "Sentry", null ); m_pEnemyNPC2Menu.AddItem( "Barney (TEC-9)", null ); m_pEnemyNPC2Menu.AddItem( "Barney (Default)", null ); m_pEnemyNPC2Menu.AddItem( "Otis", null ); m_pEnemyNPC2Menu.AddItem( "Shock Trooper", null ); m_pEnemyNPC2Menu.AddItem( "Shock Trooper (Merc v1)", null ); m_pEnemyNPC2Menu.AddItem( "Shock Trooper (Merc v2)", null ); m_pEnemyNPC2Menu.AddItem( "Heavy Weapons Grunt", null ); m_pEnemyNPC2Menu.AddItem( "Heavy Weapons Grunt v2", null ); m_pEnemyNPC2Menu.AddItem( "Medic Grunt", null ); m_pEnemyNPC2Menu.AddItem( "M249 Grunt", null ); m_pEnemyNPC2Menu.AddItem( "Shotgun Grunt", null ); m_pEnemyNPC2Menu.AddItem( "MP5 Grunt", null ); m_pEnemyNPC2Menu.AddItem( "M16 Grunt", null ); m_pEnemyNPC2Menu.AddItem( "RPG Grunt", null ); m_pEnemyNPC2Menu.AddItem( "Sniper Grunt", null ); m_pEnemyNPC2Menu.AddItem( "Medic Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "M249 Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "M249 Grunt Elite (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "Shotgun Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "MP5 Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "M16 Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "RPG Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "Sniper Grunt (Terrorist)", null ); m_pEnemyNPC2Menu.AddItem( "Terrorist Custom", null ); m_pEnemyNPC2Menu.AddItem( "Terrorist Custom .v2", null ); m_pEnemyNPC2Menu.AddItem( "Human Grunt Custom", null ); m_pEnemyNPC2Menu.AddItem( "Robo Grunt (MP5)", null ); m_pEnemyNPC2Menu.AddItem( "Robo Grunt (M16)", null ); m_pEnemyNPC2Menu.AddItem( "Robo Grunt (Shotgun)", null ); m_pEnemyNPC2Menu.AddItem( "Robo Grunt (RPG)", null ); m_pEnemyNPC2Menu.AddItem( "Robo Grunt (Sniper)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin (Sniper)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin (MP5)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin Custom (MP5)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin Custom .v2 (MP5)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin (M16)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin (Silenced Pistol)", null ); m_pEnemyNPC2Menu.AddItem( "Female Assassin (Silenced Uzi)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Pistol)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Eagle)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Shotgun)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Akimbo Uzis)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (MP5)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Sniper)", null ); m_pEnemyNPC2Menu.AddItem( "Bodyguard (Minigun)", null ); m_pEnemyNPC2Menu.AddItem( "Dr. Merkwurdiglust", null ); m_pEnemyNPC2Menu.AddItem( "Dr. Merkwurdiglust v2", null ); m_pEnemyNPC2Menu.AddItem( "Dr. Merkwurdiglust v3", null ); m_pEnemyNPC2Menu.AddItem( "Apache", null ); m_pEnemyNPC2Menu.AddItem( "Osprey", null ); m_pEnemyNPC2Menu.Register(); @m_pEnemyNPC3Menu = CTextMenu( TextMenuPlayerSlotCallback( this.EnemyNPC3Callback ) ); m_pEnemyNPC3Menu.SetTitle( "Enemy NPC Default:" ); m_pEnemyNPC3Menu.AddItem( "Chumtoad" ); m_pEnemyNPC3Menu.AddItem( "Gonome", null ); m_pEnemyNPC3Menu.AddItem( "Pit drone", null ); m_pEnemyNPC3Menu.AddItem( "Voltigore", null ); m_pEnemyNPC3Menu.AddItem( "Babygarg", null ); m_pEnemyNPC3Menu.AddItem( "Gargantua", null ); m_pEnemyNPC3Menu.AddItem( "Gonarch", null ); m_pEnemyNPC3Menu.AddItem( "Kingpin", null ); m_pEnemyNPC3Menu.AddItem( "Tor", null ); m_pEnemyNPC3Menu.AddItem( "Alien Slave", null ); m_pEnemyNPC3Menu.AddItem( "Alien Grunt", null ); m_pEnemyNPC3Menu.AddItem( "Alien Grunt (Custom)", null ); m_pEnemyNPC3Menu.AddItem( "Alien Grunt Warrior (Custom)", null ); m_pEnemyNPC3Menu.AddItem( "Alien Grunt Master (Custom)", null ); m_pEnemyNPC3Menu.AddItem( "Alien Controller", null ); m_pEnemyNPC3Menu.AddItem( "Bullsquid", null ); m_pEnemyNPC3Menu.AddItem( "Houndeye", null ); m_pEnemyNPC3Menu.AddItem( "Headcrab", null ); m_pEnemyNPC3Menu.AddItem( "Zombie", null ); m_pEnemyNPC3Menu.AddItem( "Zombie v2", null ); m_pEnemyNPC3Menu.AddItem( "Zombie v3", null ); m_pEnemyNPC3Menu.AddItem( "Sentry", null ); m_pEnemyNPC3Menu.AddItem( "Barney (TEC-9)", null ); m_pEnemyNPC3Menu.AddItem( "Barney (Default)", null ); m_pEnemyNPC3Menu.AddItem( "Otis", null ); m_pEnemyNPC3Menu.AddItem( "Shock Trooper", null ); m_pEnemyNPC3Menu.AddItem( "Shock Trooper (Merc v1)", null ); m_pEnemyNPC3Menu.AddItem( "Shock Trooper (Merc v2)", null ); m_pEnemyNPC3Menu.AddItem( "Heavy Weapons Grunt", null ); m_pEnemyNPC3Menu.AddItem( "Heavy Weapons Grunt v2", null ); m_pEnemyNPC3Menu.AddItem( "Medic Grunt", null ); m_pEnemyNPC3Menu.AddItem( "M249 Grunt", null ); m_pEnemyNPC3Menu.AddItem( "Shotgun Grunt", null ); m_pEnemyNPC3Menu.AddItem( "MP5 Grunt", null ); m_pEnemyNPC3Menu.AddItem( "M16 Grunt", null ); m_pEnemyNPC3Menu.AddItem( "RPG Grunt", null ); m_pEnemyNPC3Menu.AddItem( "Sniper Grunt", null ); m_pEnemyNPC3Menu.AddItem( "Medic Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "M249 Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "M249 Grunt Elite (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "Shotgun Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "MP5 Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "M16 Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "RPG Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "Sniper Grunt (Terrorist)", null ); m_pEnemyNPC3Menu.AddItem( "Terrorist Custom", null ); m_pEnemyNPC3Menu.AddItem( "Terrorist Custom .v2", null ); m_pEnemyNPC3Menu.AddItem( "Human Grunt Custom", null ); m_pEnemyNPC3Menu.AddItem( "Robo Grunt (MP5)", null ); m_pEnemyNPC3Menu.AddItem( "Robo Grunt (M16)", null ); m_pEnemyNPC3Menu.AddItem( "Robo Grunt (Shotgun)", null ); m_pEnemyNPC3Menu.AddItem( "Robo Grunt (RPG)", null ); m_pEnemyNPC3Menu.AddItem( "Robo Grunt (Sniper)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin (Sniper)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin (MP5)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin Custom (MP5)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin Custom .v2 (MP5)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin (M16)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin (Silenced Pistol)", null ); m_pEnemyNPC3Menu.AddItem( "Female Assassin (Silenced Uzi)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Pistol)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Eagle)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Shotgun)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Akimbo Uzis)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (MP5)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Sniper)", null ); m_pEnemyNPC3Menu.AddItem( "Bodyguard (Minigun)", null ); m_pEnemyNPC3Menu.AddItem( "Dr. Merkwurdiglust", null ); m_pEnemyNPC3Menu.AddItem( "Dr. Merkwurdiglust v2", null ); m_pEnemyNPC3Menu.AddItem( "Dr. Merkwurdiglust v3", null ); m_pEnemyNPC3Menu.AddItem( "Apache", null ); m_pEnemyNPC3Menu.AddItem( "Osprey", null ); m_pEnemyNPC3Menu.Register(); @m_pEnemyNPC4Menu = CTextMenu( TextMenuPlayerSlotCallback( this.EnemyNPC4Callback ) ); m_pEnemyNPC4Menu.SetTitle( "Enemy NPC X-Race Team:" ); m_pEnemyNPC4Menu.AddItem( "Chumtoad" ); m_pEnemyNPC4Menu.AddItem( "Gonome", null ); m_pEnemyNPC4Menu.AddItem( "Pit drone", null ); m_pEnemyNPC4Menu.AddItem( "Voltigore", null ); m_pEnemyNPC4Menu.AddItem( "Babygarg", null ); m_pEnemyNPC4Menu.AddItem( "Gargantua", null ); m_pEnemyNPC4Menu.AddItem( "Gonarch", null ); m_pEnemyNPC4Menu.AddItem( "Kingpin", null ); m_pEnemyNPC4Menu.AddItem( "Tor", null ); m_pEnemyNPC4Menu.AddItem( "Alien Slave", null ); m_pEnemyNPC4Menu.AddItem( "Alien Grunt", null ); m_pEnemyNPC4Menu.AddItem( "Alien Grunt (Custom)", null ); m_pEnemyNPC4Menu.AddItem( "Alien Grunt Warrior (Custom)", null ); m_pEnemyNPC4Menu.AddItem( "Alien Grunt Master (Custom)", null ); m_pEnemyNPC4Menu.AddItem( "Alien Controller", null ); m_pEnemyNPC4Menu.AddItem( "Bullsquid", null ); m_pEnemyNPC4Menu.AddItem( "Houndeye", null ); m_pEnemyNPC4Menu.AddItem( "Headcrab", null ); m_pEnemyNPC4Menu.AddItem( "Zombie", null ); m_pEnemyNPC4Menu.AddItem( "Zombie v2", null ); m_pEnemyNPC4Menu.AddItem( "Zombie v3", null ); m_pEnemyNPC4Menu.AddItem( "Sentry", null ); m_pEnemyNPC4Menu.AddItem( "Barney (TEC-9)", null ); m_pEnemyNPC4Menu.AddItem( "Barney (Default)", null ); m_pEnemyNPC4Menu.AddItem( "Otis", null ); m_pEnemyNPC4Menu.AddItem( "Shock Trooper", null ); m_pEnemyNPC4Menu.AddItem( "Shock Trooper (Merc v1)", null ); m_pEnemyNPC4Menu.AddItem( "Shock Trooper (Merc v2)", null ); m_pEnemyNPC4Menu.AddItem( "Heavy Weapons Grunt", null ); m_pEnemyNPC4Menu.AddItem( "Heavy Weapons Grunt v2", null ); m_pEnemyNPC4Menu.AddItem( "Medic Grunt", null ); m_pEnemyNPC4Menu.AddItem( "M249 Grunt", null ); m_pEnemyNPC4Menu.AddItem( "Shotgun Grunt", null ); m_pEnemyNPC4Menu.AddItem( "MP5 Grunt", null ); m_pEnemyNPC4Menu.AddItem( "M16 Grunt", null ); m_pEnemyNPC4Menu.AddItem( "RPG Grunt", null ); m_pEnemyNPC4Menu.AddItem( "Sniper Grunt", null ); m_pEnemyNPC4Menu.AddItem( "Medic Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "M249 Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "M249 Grunt Elite (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "Shotgun Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "MP5 Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "M16 Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "RPG Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "Sniper Grunt (Terrorist)", null ); m_pEnemyNPC4Menu.AddItem( "Terrorist Custom", null ); m_pEnemyNPC4Menu.AddItem( "Terrorist Custom v2", null ); m_pEnemyNPC4Menu.AddItem( "Human Grunt Custom", null ); m_pEnemyNPC4Menu.AddItem( "Robo Grunt (MP5)", null ); m_pEnemyNPC4Menu.AddItem( "Robo Grunt (M16)", null ); m_pEnemyNPC4Menu.AddItem( "Robo Grunt (Shotgun)", null ); m_pEnemyNPC4Menu.AddItem( "Robo Grunt (RPG)", null ); m_pEnemyNPC4Menu.AddItem( "Robo Grunt (Sniper)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin (Sniper)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin (MP5)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin Custom (MP5)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin Custom .v2 (MP5)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin (M16)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin (Silenced Pistol)", null ); m_pEnemyNPC4Menu.AddItem( "Female Assassin (Silenced Uzi)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Pistol)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Eagle)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Shotgun)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Akimbo Uzis)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (MP5)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Sniper)", null ); m_pEnemyNPC4Menu.AddItem( "Bodyguard (Minigun)", null ); m_pEnemyNPC4Menu.AddItem( "Dr. Merkwurdiglust", null ); m_pEnemyNPC4Menu.AddItem( "Dr. Merkwurdiglust v2", null ); m_pEnemyNPC4Menu.AddItem( "Dr. Merkwurdiglust v3", null ); m_pEnemyNPC4Menu.AddItem( "Apache", null ); m_pEnemyNPC4Menu.AddItem( "Osprey", null ); m_pEnemyNPC4Menu.Register(); @m_pSkinMenu = CTextMenu( TextMenuPlayerSlotCallback( this.SkinCallback ) ); m_pSkinMenu.SetTitle( "Choose a skin category:" ); m_pSkinMenu.AddItem( "Rifles", null ); m_pSkinMenu.AddItem( "SMG", null ); m_pSkinMenu.AddItem( "Shotguns", null ); m_pSkinMenu.AddItem( "Handguns", null ); m_pSkinMenu.AddItem( "ETC", null ); //m_pSkinMenu.AddItem( "Melee", null ); m_pSkinMenu.AddItem( "Silly skins", null ); m_pSkinMenu.AddItem( "Super weapons", null ); //m_pSkinMenu.AddItem( "Melee", null ); //m_pSkinMenu.AddItem( "Equipment", null ); //m_pSkinMenu.AddItem( "Energy weapons", null ); //m_pSkinMenu.AddItem( "LMG", null ); m_pSkinMenu.Register(); @m_pSkinMenu1 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin1Callback ) ); m_pSkinMenu1.SetTitle( "Rifles:" ); m_pSkinMenu1.AddItem( "AK-101 for Sven M16 (29 DMG) - $890", null ); m_pSkinMenu1.AddItem( "AK-101 alt. for Sven M16 (29 DMG) - $890", null ); m_pSkinMenu1.AddItem( "M4A1 TactOP for Sven M16 (28 DMG) - $860", null ); m_pSkinMenu1.AddItem( "M727 for Sven M16 (28 DMG) - $860", null ); m_pSkinMenu1.AddItem( "CS 1.6 M4A1+M203 for Sven M16 (28 DMG) - $860", null ); m_pSkinMenu1.AddItem( "M41A for Sven M16 (28 DMG) - $860", null ); m_pSkinMenu1.AddItem( "M40A1 for Sven M40A1 - 60$", null ); m_pSkinMenu1.AddItem( "M40A1 alt. for Sven M40A1 - 60$", null ); m_pSkinMenu1.AddItem( "OPFOR M40A1 for Sven M40A1 - 60$", null ); //m_pSkinMenu1.AddItem( "\\yGolden Sven Co-op M40A1 - $5000\\w", null ); m_pSkinMenu1.Register(); @m_pSkinMenu2 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin2Callback ) ); m_pSkinMenu2.SetTitle( "SMG:" ); m_pSkinMenu2.AddItem( "Blaster Rifle for Sven MP5 (27 DMG) - $680", null ); m_pSkinMenu2.AddItem( "SG552 Commando for Sven MP5 (27 DMG) - $680", null ); m_pSkinMenu2.AddItem( "CS 1.6 M4A1 for Sven MP5 (27 DMG) - $680", null ); m_pSkinMenu2.AddItem( "Camouflaged Sven MP5 (25 DMG) - $620", null ); m_pSkinMenu2.AddItem( "USP Auto for Uzi (27 DMG) - $690", null ); m_pSkinMenu2.AddItem( "Glock 18 Auto for Uzi (25 DMG) - $640", null ); //m_pSkinMenu2.AddItem( "Half-Life MP5 for Sven Co-op MP5 - $100", null ); //m_pSkinMenu2.AddItem( "\\yGolden Sven Co-op MP5 - $5000\\w", null ); m_pSkinMenu2.Register(); @m_pSkinMenu3 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin3Callback ) ); m_pSkinMenu3.SetTitle( "Shotguns:" ); m_pSkinMenu3.AddItem( "Remington 870 for Sven Shotgun (15 DMG) - $800", null ); m_pSkinMenu3.AddItem( "Remington 870 alt. for Sven Shotgun (15 DMG) - $800", null ); m_pSkinMenu3.AddItem( "Camouflaged Sven Shotgun (15 DMG) - $800", null ); m_pSkinMenu3.AddItem( "Spas-12 Stock for Sven Shotgun (14 DMG) - $780", null ); m_pSkinMenu3.AddItem( "Spas-12 No Stock for Sven Shotgun (14 DMG) - $780", null ); m_pSkinMenu3.AddItem( "Spas-12 No Stock v2 for Sven Shotgun (14 DMG) - $780", null ); //m_pSkinMenu3.AddItem( "Half-Life Shotgun for Sven Co-op Shotgun - $40", null ); m_pSkinMenu3.AddItem( "Half-Life 2 Shotgun for Sven Shotgun (14 DMG) - $780", null ); m_pSkinMenu3.AddItem( "Benelli M3 for Sven Shotgun (14 DMG) - $780", null ); //m_pSkinMenu3.AddItem( "\\yGolden Sven Co-op Shotgun - $5000\\w", null ); m_pSkinMenu3.Register(); @m_pSkinMenu4 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin4Callback ) ); m_pSkinMenu4.SetTitle( "Handguns:" ); m_pSkinMenu4.AddItem( "Camouflaged Sven Beretta (25 DMG) - $520", null ); m_pSkinMenu4.AddItem( "USP for Sven Beretta (25 DMG) - $520", null ); m_pSkinMenu4.AddItem( "Half-Life Glock for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "CS 1.6 Glock for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "Glock 17 for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "Glock 17 Silver for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "Glock 17 alt. for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "Glock 17 Silver alt. for Sven Beretta (24 DMG) - $480", null ); m_pSkinMenu4.AddItem( "CS 1.6 Glock for Half-Life Glock - $40", null ); m_pSkinMenu4.AddItem( "HL1 Python for Sven .357 (70 DMG) - $650", null ); m_pSkinMenu4.AddItem( "Raging Bull Black for Sven .357 (70 DMG) - $650", null ); m_pSkinMenu4.AddItem( "Raging Bull Silver for Sven .357 (70 DMG) - $650", null ); m_pSkinMenu4.AddItem( ".357 Anaconda for Sven .357 (70 DMG) - $650", null ); //m_pSkinMenu4.AddItem( "MK.22 for OPFOR Eagle", null ); //m_pSkinMenu4.AddItem( "STI Handgun for OPFOR Eagle", null ); m_pSkinMenu4.AddItem( "Sven Co-op Eagle for OP4 Eagle - $500", null ); m_pSkinMenu4.AddItem( "CS 1.6 Deagle for OP4 Eagle (Accurate) - $500", null ); m_pSkinMenu4.AddItem( "CS 1.6 Deagle for Sven Eagle (50 DMG) - $480", null ); m_pSkinMenu4.AddItem( "Desert Eagle Black for OP4 Eagle (Accurate) - $500", null ); m_pSkinMenu4.AddItem( "Desert Eagle Silver for OP4 Eagle (Accurate) - $500", null ); m_pSkinMenu4.AddItem( "Desert Eagle Black for Sven Eagle (50 DMG) - $500", null ); m_pSkinMenu4.AddItem( "Desert Eagle Silver for Sven Eagle (50 DMG) - $500", null ); //m_pSkinMenu4.AddItem( "\\yGolden .357 for Sven Co-op Python - $5000\\w", null ); m_pSkinMenu4.Register(); @m_pSkinMenu5 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin5Callback ) ); m_pSkinMenu5.SetTitle( "ETC:" ); m_pSkinMenu5.AddItem( "Classic Hivehand (Orange/Red)", null ); m_pSkinMenu5.AddItem( "New Hivehand (Orange/Red) (revert from classic)", null ); m_pSkinMenu5.AddItem( "Classic Hivehand (Blue)", null ); m_pSkinMenu5.AddItem( "New Hivehand (Blue) (revert from classic)", null ); m_pSkinMenu5.AddItem( "Sven Minigun to Assault Cannon - $9000", null ); m_pSkinMenu5.AddItem( "Assault Cannon to Sven Minigun - $8000", null ); m_pSkinMenu5.AddItem( "Sven Minigun to TF2 Minigun - $9000", null ); m_pSkinMenu5.AddItem( "TF2 Minigun to Sven Minigun - $8000", null ); m_pSkinMenu5.AddItem( "TF2 Minigun to Assault Cannon - $9000", null ); m_pSkinMenu5.AddItem( "Assault Cannon to TF2 Minigun - $9000", null ); //m_pSkinMenu5.AddItem( "Classic Hornet Gun", null ); //m_pSkinMenu5.AddItem( "New Hornet Gun (revert from classic)", null ); m_pSkinMenu5.Register(); /*@m_pSkinMenu5 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin5Callback ) ); m_pSkinMenu5.SetTitle( "Melee:" ); m_pSkinMenu5.AddItem( "Tracker Knife for Crowbar", null ); m_pSkinMenu5.AddItem( "M9 Bayonet for Crowbar", null ); m_pSkinMenu5.AddItem( "M9 Bayonet alt. for Crowbar", null ); m_pSkinMenu5.Register(); @m_pSkinMenu6 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin6Callback ) ); m_pSkinMenu6.SetTitle( "Equipment:" ); m_pSkinMenu6.AddItem( "They Hunger Syringe for Medkit", null ); m_pSkinMenu6.AddItem( "Can always add more! Feel free to suggest!", null ); m_pSkinMenu6.Register(); @m_pSkinMenu7 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin7Callback ) ); m_pSkinMenu7.SetTitle( "Energy Weapons:" ); m_pSkinMenu7.AddItem( "Displacer for Egon Gluon", null ); m_pSkinMenu7.Register(); @m_pSkinMenu8 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin8Callback ) ); m_pSkinMenu8.SetTitle( "LMG:" ); m_pSkinMenu8.AddItem( "CS M249 for Sven Co-op M249 SAW", null ); m_pSkinMenu8.Register();*/ @m_pSkinMenu6 = CTextMenu( TextMenuPlayerSlotCallback( this.SillySkinCallback ) ); m_pSkinMenu6.SetTitle( "Silly skins:" ); //m_pSkinMenu6.AddItem( "Pipe Wrench for Crowbar", null ); //m_pSkinMenu6.AddItem( "Crowbar for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Beretta for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Beretta for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Python for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Python for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Uzi for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Uzi for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op MP5 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op MP5 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Shotgun for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Shotgun for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M16 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M16 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M249 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M249 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M40A1 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M40A1 for Pipe Wrench", null ); m_pSkinMenu6.AddItem( "Hornet Gun for Crowbar", null ); m_pSkinMenu6.AddItem( "Hornet Gun for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Displacer Cannon for Egon Gluon", null ); //m_pSkinMenu6.AddItem( "Gauss TAU Cannon for Displacer Cannon", null ); m_pSkinMenu6.Register(); @m_pSkinMenu11 = CTextMenu( TextMenuPlayerSlotCallback( this.Skin10Callback ) ); m_pSkinMenu11.SetTitle( "Super weapons:" ); m_pSkinMenu11.AddItem( "\\yGolden .357 for Sven Python (200 DMG) - $5000\\w", null ); m_pSkinMenu11.AddItem( "\\yGolden Sven Shotgun (30 DMG/Pellet) - $6000\\w", null ); m_pSkinMenu11.AddItem( "\\yGolden Sven MP5 (50 DMG) - $8000\\w", null ); m_pSkinMenu11.AddItem( "\\yGolden Sven M40A1 (500 DMG) - $10000\\w", null ); m_pSkinMenu11.Register(); @m_pCNPCMenu = CTextMenu( TextMenuPlayerSlotCallback( this.CNPCCallback ) ); m_pCNPCMenu.SetTitle( "Controlled NPC Menu:" ); m_pCNPCMenu.AddItem( "Become Kingpin - $8000" ); m_pCNPCMenu.AddItem( "Become Baby Gargantua - $8000" ); m_pCNPCMenu.AddItem( "Become Heavy Weapons Grunt - $7000" ); m_pCNPCMenu.AddItem( "Become Alien Grunt - $6000" ); //m_pCNPCMenu.AddItem( "Become Alien Grunt (Classic) - $6000" ); m_pCNPCMenu.AddItem( "Become Female Assassin - $6000" ); m_pCNPCMenu.AddItem( "Become OPFOR Grunt - $4000" ); m_pCNPCMenu.AddItem( "Become Human Grunt - $3500" ); m_pCNPCMenu.AddItem( "Become Shock Trooper - $2000" ); m_pCNPCMenu.AddItem( "Become Gonome - $2000" ); m_pCNPCMenu.AddItem( "Become Pit Drone - $1200" ); m_pCNPCMenu.AddItem( "Become Bullsquid - $1200" ); m_pCNPCMenu.AddItem( "Become Alien Slave - $800" ); m_pCNPCMenu.AddItem( "Become Houndeye - $800" ); m_pCNPCMenu.AddItem( "Become Security Guard - $700" ); m_pCNPCMenu.AddItem( "Become Zombie - $600" ); m_pCNPCMenu.Register(); @m_pADDNPCMenu = CTextMenu( TextMenuPlayerSlotCallback( this.ADDNPCCallback ) ); m_pADDNPCMenu.SetTitle( "Add NPC Menu:" ); m_pADDNPCMenu.AddItem( "Add NPC common + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% armor + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% armor + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% armor + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% armor + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% armor & health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% armor & health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% armor & health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% armor & health + 25 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC common + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% armor + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% armor + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% armor + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% armor + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 25% armor & health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 50% armor & health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 75% armor & health + 50 health regen" ); m_pADDNPCMenu.AddItem( "Add NPC + 100% armor & health + 50 health regen" ); m_pADDNPCMenu.Register(); } private void ADDNPCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { string sChoice = pItem.m_szName; if( sChoice == "Add NPC common + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( ( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% armor + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 25; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% armor & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% armor + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 50; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% armor & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% armor + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 75; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% armor & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% armor + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 100; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% armor & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.25; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% health & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.5; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% health & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.75; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% health & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 2.0; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% health & 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% armor & health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 25; pEntity.pev.max_health = pEntity.pev.max_health * 1.25; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% health & armor + 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% armor & health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 50; pEntity.pev.max_health = pEntity.pev.max_health * 1.5; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% health & armor + 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% armor & health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 75; pEntity.pev.max_health = pEntity.pev.max_health * 1.75; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% health & armor + 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% armor & health + 25 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 100; pEntity.pev.max_health = pEntity.pev.max_health * 2.0; pEntity.pev.netname = "summonedally"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% health & armor + 25 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC common + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( ( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% armor + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 25; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% armor & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% armor + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 50; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% armor & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% armor + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 75; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% armor & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% armor + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 100; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% armor & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.25; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% health & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.5; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% health & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 1.75; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% health & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.max_health = pEntity.pev.max_health * 2.0; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% health & 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 25% armor & health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 25; pEntity.pev.max_health = pEntity.pev.max_health * 1.25; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 25% health & armor + 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 50% armor & health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 50; pEntity.pev.max_health = pEntity.pev.max_health * 1.5; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 50% health & armor + 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 75% armor & health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 75; pEntity.pev.max_health = pEntity.pev.max_health * 1.75; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 75% health & armor + 50 health regeneration every 3 seconds.\n"); } } if( sChoice == "Add NPC + 100% armor & health + 50 health regen" ) { CBaseEntity@ pEntity = g_Utility.FindEntityForward(pPlayer); if( pEntity is null || !pEntity.IsMonster() || pEntity.IsPlayer() ) { g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Error, no NPC found at aim.\n"); } else { @pEntity.pev.euser4 = pPlayer.edict(); pEntity.pev.armorvalue = 100; pEntity.pev.max_health = pEntity.pev.max_health * 2.0; pEntity.pev.netname = "summonedallyt2"; g_PlayerFuncs.SayText(pPlayer, "[ADDNPC] Added NPC to your squad. 100% health & armor + 50 health regeneration every 3 seconds.\n"); } } m_pADDNPCMenu.Open( 0, 0, pPlayer ); } } private void CNPCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { string sChoice = pItem.m_szName; int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); if( sChoice == "Become Kingpin - $8000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 7999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -8000); pPlayer.GiveNamedItem( "weapon_kingpin" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Kingpin.\n" ); } } if( sChoice == "Become Baby Gargantua - $8000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 7999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -8000); pPlayer.GiveNamedItem( "weapon_babygarg" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough money to buy Become Baby Gargantua.\n" ); } } if( sChoice == "Become Heavy Weapons Grunt - $7000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 6999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -7000); pPlayer.GiveNamedItem( "weapon_hwgrunt" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Heavy Weapons Grunt.\n" ); } } if( sChoice == "Become Alien Grunt - $6000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 5999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -6000); pPlayer.GiveNamedItem( "weapon_agruntf" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Alien Grunt.\n" ); } } if( sChoice == "Become Alien Grunt (Classic) - $6000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 5999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -6000); pPlayer.GiveNamedItem( "weapon_agruntfc" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Alien Grunt (Classic).\n" ); } } if( sChoice == "Become Female Assassin - $6000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 5999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -6000); pPlayer.GiveNamedItem( "weapon_fassn" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Female Assassin.\n" ); } } if( sChoice == "Become OPFOR Grunt - $4000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 3999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -4000); pPlayer.GiveNamedItem( "weapon_ofgrunt" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become OPFOR Grunt.\n" ); } } if( sChoice == "Become Human Grunt - $3500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 3499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -3500); pPlayer.GiveNamedItem( "weapon_hgrunts" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Human Grunt.\n" ); } } if( sChoice == "Become Shock Trooper - $2000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 1999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -2000); pPlayer.GiveNamedItem( "weapon_strooper" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Shock Trooper.\n" ); } } if( sChoice == "Become Gonome - $2000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 1999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -2000); pPlayer.GiveNamedItem( "weapon_gonome" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Gonome.\n" ); } } if( sChoice == "Become Pit Drone - $1200" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 1199 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -1200); pPlayer.GiveNamedItem( "weapon_pitdrone" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Pit Drone.\n" ); } } if( sChoice == "Become Bullsquid - $1200" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 1199 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -1200); pPlayer.GiveNamedItem( "weapon_bullsquid" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Bullsquid.\n" ); } } if( sChoice == "Become Security Guard - $700" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 699 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -700); pPlayer.GiveNamedItem( "weapon_securityguard" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Security Guard.\n" ); } } if( sChoice == "Become Alien Slave - $800" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 799 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -800); pPlayer.GiveNamedItem( "weapon_islave" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Alien Slave.\n" ); } } if( sChoice == "Become Zombie - $600" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 599 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -600); pPlayer.GiveNamedItem( "weapon_zombie" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Zombie.\n" ); } } if( sChoice == "Become Houndeye - $800" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must be alive.\n" ); return; } if( (pPlayer.pev.effects & EF_NODRAW) == EF_NODRAW ) { g_PlayerFuncs.SayText( pPlayer, "[CNPC] You must say /exitnpc before you can use this one!\n" ); return; } if( PlayerBalance > 799 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -800); pPlayer.GiveNamedItem( "weapon_houndeye" ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[CNPC] Not enough money to buy Become Houndeye.\n" ); } } } } private void ETCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { string sChoice = pItem.m_szName; g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin + pPlayer.pev.view_ofs + g_Engine.v_forward * 32; if( sChoice == "Drop $5" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 4 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -5); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money5", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $10" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 9 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -10); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money10", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $50" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 49 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -50); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money50", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $100" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 99 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -100); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money100", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money500", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $1000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -1000); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money1000", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $5000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 4999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -5000); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money5000", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $10000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 9999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -10000); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money10000", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $50000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 49999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -50000); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money50000", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } if( sChoice == "Drop $100000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[DropCash] You must be alive\n" ); return; } if( PlayerBalance > 99999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -100000); CBaseEntity@ pAGDrone = g_EntityFuncs.Create( "item_money100000", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); pAGDrone.pev.velocity = g_Engine.v_forward * 300 + g_Engine.v_up * 50; pAGDrone.pev.spawnflags = 7168; } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[DropCash] Not enough cash to drop\n" ); } } m_pETCMenu.Open( 0, 0, pPlayer ); } } private void NPCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { string sChoice = pItem.m_szName; if( sChoice == "Ally NPC" ) m_pAllyNPCMenu.Open( 0, 0, pPlayer ); if( sChoice == "Enemy NPC Military Team" ) m_pEnemyNPCMenu.Open( 0, 0, pPlayer ); if( sChoice == "Enemy NPC Alien Xen Team" ) m_pEnemyNPC2Menu.Open( 0, 0, pPlayer ); if( sChoice == "Enemy NPC Alien X-Race Team" ) m_pEnemyNPC4Menu.Open( 0, 0, pPlayer ); if( sChoice == "Enemy NPC Default" ) m_pEnemyNPC3Menu.Open( 0, 0, pPlayer ); } } private void SkinCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { string sChoice = pItem.m_szName; if( sChoice == "Rifles" ) m_pSkinMenu1.Open( 0, 0, pPlayer ); if( sChoice == "SMG" ) m_pSkinMenu2.Open( 0, 0, pPlayer ); if( sChoice == "Shotguns" ) m_pSkinMenu3.Open( 0, 0, pPlayer ); if( sChoice == "Handguns" ) m_pSkinMenu4.Open( 0, 0, pPlayer ); if( sChoice == "ETC" ) m_pSkinMenu5.Open( 0, 0, pPlayer ); if( sChoice == "Melee" ) m_pSkinMenu6.Open( 0, 0, pPlayer ); if( sChoice == "Equipment" ) m_pSkinMenu7.Open( 0, 0, pPlayer ); if( sChoice == "Energy weapons" ) m_pSkinMenu8.Open( 0, 0, pPlayer ); if( sChoice == "LMG" ) m_pSkinMenu6.Open( 0, 0, pPlayer ); if( sChoice == "Silly skins" ) m_pSkinMenu6.Open( 0, 0, pPlayer ); if( sChoice == "Super weapons" ) m_pSkinMenu11.Open( 0, 0, pPlayer ); } } private void Skin1Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; CBaseEntity@ pItem; if( sChoice == "M727 for Sven M16 (28 DMG) - $860" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 859 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -860); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/p_m727.mdl" }, { "iuser2", "models/mapobjects/w_m727.mdl" }, { "iuser3", "models/mapobjects/v_m727.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "27"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "AK-101 for Sven M16 (29 DMG) - $890" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 889 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -890); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/ak-101/p_ak101.mdl" }, { "iuser2", "models/mapobjects/weaponskins/ak-101/w_ak101.mdl" }, { "iuser3", "models/mapobjects/weaponskins/ak-101/v_ak101.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "29"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "AK-101 alt. for Sven M16 (29 DMG) - $890" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 889 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -890); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/ak-101alt/p_ak101.mdl" }, { "iuser2", "models/mapobjects/weaponskins/ak-101alt/w_ak101.mdl" }, { "iuser3", "models/mapobjects/weaponskins/ak-101alt/v_ak101.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "29"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_m16" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 M4A1+M203 for Sven M16 (28 DMG) - $860" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 859 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -860); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/cs16/p_m4m203.mdl" }, { "iuser2", "models/mapobjects/weaponskins/cs16/w_m4m203.mdl" }, { "iuser3", "models/mapobjects/weaponskins/cs16/v_m4m203.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "28"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_m16" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "M4A1 TactOP for Sven M16 (28 DMG) - $860" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 859 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -860); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/m4tactop/p_m4tactop.mdl" }, { "iuser2", "models/mapobjects/weaponskins/m4tactop/w_m4tactop.mdl" }, { "iuser3", "models/mapobjects/weaponskins/m4tactop/v_m4tactop.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "28"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_m16" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "M41A for Sven M16 (28 DMG) - $860" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_m16") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 859 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -860); RemoveSingleItem( pPlayer, "weapon_m16" ); szClassname = "weapon_m16"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/blaster/p_blaster2.mdl" }, { "iuser2", "models/mapobjects/weaponskins/blaster/w_blaster2.mdl" }, { "iuser3", "models/mapobjects/weaponskins/blaster/v_blaster2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "28"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_m16" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "M40A1 for Sven M40A1 - 60$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_sniperrifle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 59 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -60); RemoveSingleItem( pPlayer, "weapon_sniperrifle" ); szClassname = "weapon_sniperrifle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/m40a1/p_m40a1_new.mdl" }, { "iuser2", "models/mapobjects/weaponskins/m40a1/w_m40a1_new.mdl" }, { "iuser3", "models/mapobjects/weaponskins/m40a1/v_m40a1_new.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_sniperrifle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "M40A1 alt. for Sven M40A1 - 60$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_sniperrifle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 59 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -60); RemoveSingleItem( pPlayer, "weapon_sniperrifle" ); szClassname = "weapon_sniperrifle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/m40a1alt/p_m40a1_alt.mdl" }, { "iuser2", "models/mapobjects/weaponskins/m40a1alt/w_m40a1_alt.mdl" }, { "iuser3", "models/mapobjects/weaponskins/m40a1alt/v_m40a1_alt.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_sniperrifle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "OPFOR M40A1 for Sven M40A1 - 60$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_sniperrifle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 59 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -60); RemoveSingleItem( pPlayer, "weapon_sniperrifle" ); szClassname = "weapon_sniperrifle"; dictKeys = { { "iuser1", "models/hlclassic/p_m40a1.mdl" }, { "iuser2", "models/hlclassic/w_m40a1.mdl" }, { "iuser3", "models/opfor/ld/v_m40a1_new.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_sniperrifle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "\\yGolden Sven Co-op M40A1 - $10000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_sniperrifle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 9999 ) { RemoveSingleItem( pPlayer, "weapon_sniperrifle" ); EccoPlayerInventory::ChangeBalance(pPlayer, -10000); szClassname = "weapon_sniperrifle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_m40a1.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_m40a1.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_m40a1.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "400"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_sniperrifle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void Skin2Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; CBaseEntity@ pItem; if( sChoice == "\\yGolden Sven Co-op MP5 - $8000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 7999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -8000); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_9mmAR_gold.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_9mmAR_gold.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_9mmAR_gold.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "35"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Camouflaged Sven MP5 (25 DMG) - $620" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 619 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -620); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/camouflaged/p_mp5_camo.mdl" }, { "iuser2", "models/mapobjects/weaponskins/camouflaged/w_mp5_camo.mdl" }, { "iuser3", "models/mapobjects/weaponskins/camouflaged/v_mp5_camo.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "25"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Blaster Rifle for Sven MP5 (27 DMG) - $680" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 679 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -680); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/blaster/p_blaster.mdl" }, { "iuser2", "models/mapobjects/weaponskins/blaster/w_blaster.mdl" }, { "iuser3", "models/mapobjects/weaponskins/blaster/v_blaster.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "28"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Half-Life MP5 for Sven Co-op MP5 - $100" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 99 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -100); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/hlclassic/p_9mmar.mdl" }, { "iuser2", "models/opfor/ld/w_9mmar.mdl" }, { "iuser3", "models/opfor/ld/v_9mmar.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 M4A1 for Sven MP5 (27 DMG) - $680" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 679 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -680); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/cs16/p_m4.mdl" }, { "iuser2", "models/mapobjects/weaponskins/cs16/w_m4.mdl" }, { "iuser3", "models/mapobjects/weaponskins/cs16/v_m4_v2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "27"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "SG552 Commando for Sven MP5 (27 DMG) - $680" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 679 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -680); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/sg552/p_sg.mdl" }, { "iuser2", "models/mapobjects/weaponskins/sg552/w_sg.mdl" }, { "iuser3", "models/mapobjects/weaponskins/sg552/v_sg.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "27"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Glock 18 Auto for Uzi (25 DMG) - $640" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_uzi") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 639 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -640); RemoveSingleItem( pPlayer, "weapon_uzi" ); szClassname = "weapon_uzi"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/glock18auto/p_g18.mdl" }, { "iuser2", "models/mapobjects/weaponskins/glock18auto/w_g18.mdl" }, { "iuser3", "models/mapobjects/weaponskins/glock18auto/v_g18_v2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "25"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_uzi" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "USP Auto for Uzi (27 DMG) - $690" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_uzi") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 689 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -690); RemoveSingleItem( pPlayer, "weapon_uzi" ); szClassname = "weapon_uzi"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/uspauto/p_uspauto.mdl" }, { "iuser2", "models/mapobjects/weaponskins/uspauto/w_uspauto.mdl" }, { "iuser3", "models/mapobjects/weaponskins/uspauto/v_uspauto_v2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "27"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_uzi" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void Skin3Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; CBaseEntity@ pItem; if( sChoice == "\\yGolden Sven Co-op Shotgun - $7000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 6999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -7000); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_shotgun_gold.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_shotgun_gold.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_shotgun_gold.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Half-Life Shotgun for Sven Co-op Shotgun - $40" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 39 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -40); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/hlclassic/p_shotgun.mdl" }, { "iuser2", "models/hlclassic/w_shotgun.mdl" }, { "iuser3", "models/opfor/ld/v_hlshotgun.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "11"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Half-Life 2 Shotgun for Sven Shotgun (14 DMG) - $780" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 779 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -780); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/hl2spas12/p_hl2shotgun.mdl" }, { "iuser2", "models/mapobjects/weaponskins/hl2spas12/w_hl2shotgun.mdl" }, { "iuser3", "models/mapobjects/weaponskins/hl2spas12/v_hl2shotgun.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Benelli M3 for Sven Shotgun (14 DMG) - $780" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 779 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -780); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/benelli/p_benelli.mdl" }, { "iuser2", "models/mapobjects/weaponskins/benelli/w_benelli.mdl" }, { "iuser3", "models/mapobjects/weaponskins/benelli/v_benelli.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Remington 870 for Sven Shotgun (15 DMG) - $800" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 799 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -800); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/remington/p_r870.mdl" }, { "iuser2", "models/mapobjects/weaponskins/remington/w_r870.mdl" }, { "iuser3", "models/mapobjects/weaponskins/remington/v_r870.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "15"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Remington 870 alt. for Sven Shotgun (15 DMG) - $800" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 799 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -800); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/r870/p_r870shotgun.mdl" }, { "iuser2", "models/mapobjects/weaponskins/r870/w_r870shotgun.mdl" }, { "iuser3", "models/mapobjects/weaponskins/r870/v_r870shotgun.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "15"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Camouflaged Sven Shotgun (15 DMG) - $800" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 799 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -800); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/camouflaged/p_spas_camo.mdl" }, { "iuser2", "models/mapobjects/weaponskins/camouflaged/w_spas_camo.mdl" }, { "iuser3", "models/mapobjects/weaponskins/camouflaged/v_spas_camo.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Spas-12 Stock for Sven Shotgun (14 DMG) - $780" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 779 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -780); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/spas12/p_shotgun_ustock.mdl" }, { "iuser2", "models/mapobjects/weaponskins/spas12/w_shotgun_ustock.mdl" }, { "iuser3", "models/mapobjects/weaponskins/spas12/v_shotgun_ustock.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Spas-12 No Stock for Sven Shotgun (14 DMG) - $780" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 779 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -780); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/spas12/p_shotgun_fstock.mdl" }, { "iuser2", "models/mapobjects/weaponskins/spas12/w_shotgun_fstock.mdl" }, { "iuser3", "models/mapobjects/weaponskins/spas12/v_shotgun_fstock.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Spas-12 No Stock v2 for Sven Shotgun (14 DMG) - $780" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 779 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -780); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/spas12/p_shotgun_nstock.mdl" }, { "iuser2", "models/mapobjects/weaponskins/spas12/w_shotgun_nstock.mdl" }, { "iuser3", "models/mapobjects/weaponskins/spas12/v_shotgun_nstock.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "14"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void Skin4Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; CBaseEntity@ pItem; if( sChoice == "Desert Eagle Silver for OP4 Eagle (Accurate) - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/Eagle/p_deagle_silver.mdl" }, { "iuser2", "models/mapobjects/weaponskins/Eagle/w_deagle_silver.mdl" }, { "iuser3", "models/mapobjects/weaponskins/Eagle/v_deagle_silver.mdl" }, { "netname", "accurate" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Desert Eagle Silver for Sven Eagle (50 DMG) - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_eagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_eagle" ); szClassname = "weapon_eagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/Eagle/p_deagle_silver.mdl" }, { "iuser2", "models/mapobjects/weaponskins/Eagle/w_deagle_silver.mdl" }, { "iuser3", "models/mapobjects/weaponskins/Eagle/v_deagle_silver.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "50"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_eagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Desert Eagle Black for OP4 Eagle (Accurate) - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/Eagle/p_deagle_black.mdl" }, { "iuser2", "models/mapobjects/weaponskins/Eagle/w_deagle_black.mdl" }, { "iuser3", "models/mapobjects/weaponskins/Eagle/v_deagle_black.mdl" }, { "netname", "accurate" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Desert Eagle Black for Sven Eagle (50 DMG) - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_eagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_eagle" ); szClassname = "weapon_eagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/Eagle/p_deagle_black.mdl" }, { "iuser2", "models/mapobjects/weaponskins/Eagle/w_deagle_black.mdl" }, { "iuser3", "models/mapobjects/weaponskins/Eagle/v_deagle_black.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "50"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_eagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 Deagle for OP4 Eagle (Accurate) - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/mapobjects/p_deagle.mdl" }, { "iuser2", "models/mapobjects/w_deagle.mdl" }, { "iuser3", "models/mapobjects/v_deagle.mdl" }, { "netname", "accurate" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 Deagle for Sven Eagle (50 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_eagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_eagle" ); szClassname = "weapon_eagle"; dictKeys = { { "iuser1", "models/mapobjects/p_deagle.mdl" }, { "iuser2", "models/mapobjects/w_deagle.mdl" }, { "iuser3", "models/mapobjects/v_deagle.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "50"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_eagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Eagle for OP4 Eagle - $500" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 499 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -500); RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/p_desert_eagle.mdl" }, { "iuser2", "models/w_desert_eagle.mdl" }, { "iuser3", "models/opfor/v_desert_eagle.mdl" }, { "netname", "accurate" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "STI Handgun for OPFOR Eagle" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance == 0 or PlayerBalance > 0 ) { RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/sti_handgun/p_STI_Eagle.mdl" }, { "iuser2", "models/mapobjects/weaponskins/sti_handgun/w_STI_Eagle.mdl" }, { "iuser3", "models/mapobjects/weaponskins/sti_handgun/v_STI_Eagle.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "MK.22 for OPFOR Eagle" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_ofeagle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance == 0 or PlayerBalance > 0 ) { RemoveSingleItem( pPlayer, "weapon_ofeagle" ); szClassname = "weapon_ofeagle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/mk22/p_mk22.mdl" }, { "iuser2", "models/mapobjects/weaponskins/mk22/w_mk22.mdl" }, { "iuser3", "models/mapobjects/weaponskins/mk22/v_mk22.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_ofeagle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == ".357 Anaconda for Sven .357 (70 DMG) - $650" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 649 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -650); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/357anaconda/p_anaconda.mdl" }, { "iuser2", "models/mapobjects/weaponskins/357anaconda/w_anaconda.mdl" }, { "iuser3", "models/mapobjects/weaponskins/357anaconda/v_anaconda.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "70"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Raging Bull Silver for Sven .357 (70 DMG) - $650" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 649 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -650); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/ragingbull/p_bull_silver.mdl" }, { "iuser2", "models/mapobjects/weaponskins/ragingbull/w_bull_silver.mdl" }, { "iuser3", "models/mapobjects/weaponskins/ragingbull/v_bull_silver.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "70"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Raging Bull Black for Sven .357 (70 DMG) - $650" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 649 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -650); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/ragingbull/p_bull_black.mdl" }, { "iuser2", "models/mapobjects/weaponskins/ragingbull/w_bull_black.mdl" }, { "iuser3", "models/mapobjects/weaponskins/ragingbull/v_bull_black.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "70"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "HL1 Python for Sven .357 (70 DMG) - $650" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 649 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -650); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/hlclassic/p_357.mdl" }, { "iuser2", "models/hlclassic/w_357.mdl" }, { "iuser3", "models/opfor/ld/v_357.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "75"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 Glock for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/p_g18-2.mdl" }, { "iuser2", "models/mapobjects/w_g18.mdl" }, { "iuser3", "models/mapobjects/v_g18.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Glock 17 for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/g17/p_g17.mdl" }, { "iuser2", "models/mapobjects/weaponskins/g17/w_g17.mdl" }, { "iuser3", "models/mapobjects/weaponskins/g17/v_g17.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Glock 17 Silver for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/g17/p_g17s.mdl" }, { "iuser2", "models/mapobjects/weaponskins/g17/w_g17s.mdl" }, { "iuser3", "models/mapobjects/weaponskins/g17/v_g17s.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Glock 17 alt. for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/g17/p_g17.mdl" }, { "iuser2", "models/mapobjects/weaponskins/g17/w_g17.mdl" }, { "iuser3", "models/mapobjects/weaponskins/g17/v_g17_v2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Glock 17 Silver alt. for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/g17/p_g17s.mdl" }, { "iuser2", "models/mapobjects/weaponskins/g17/w_g17s.mdl" }, { "iuser3", "models/mapobjects/weaponskins/g17/v_g17s_v2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "CS 1.6 Glock for Half-Life Glock - $40" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_hlglock") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 39 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -40); RemoveSingleItem( pPlayer, "weapon_hlglock" ); szClassname = "weapon_hlglock"; dictKeys = { { "iuser1", "models/mapobjects/p_g18-2.mdl" }, { "iuser2", "models/mapobjects/w_g18.mdl" }, { "iuser3", "models/mapobjects/v_g18.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_hlglock" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "USP for Sven Beretta (25 DMG) - $520" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 520 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -520); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/usp/p_usp45.mdl" }, { "iuser2", "models/mapobjects/weaponskins/usp/w_usp45.mdl" }, { "iuser3", "models/mapobjects/weaponskins/usp/v_usp45.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "25"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Half-Life Glock for Sven Beretta (24 DMG) - $480" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 479 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -480); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/p_g18-2.mdl" }, { "iuser2", "models/mapobjects/w_g18.mdl" }, { "iuser3", "models/mapobjects/v_g18-2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "24"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Camouflaged Sven Beretta (25 DMG) - $520" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmhandgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 520 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -520); RemoveSingleItem( pPlayer, "weapon_9mmhandgun" ); szClassname = "weapon_9mmhandgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/camouflaged/p_beretta_camo.mdl" }, { "iuser2", "models/mapobjects/weaponskins/camouflaged/w_beretta_camo.mdl" }, { "iuser3", "models/mapobjects/weaponskins/camouflaged/v_beretta_camo.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "25"); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_9mmhandgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "\\yGolden .357 for Sven Co-op Python - $5000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 4999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -5000); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/adamr/weapons/gold357/p_gold357.mdl" }, { "iuser2", "models/adamr/weapons/gold357/w_gold357.mdl" }, { "iuser3", "models/adamr/weapons/gold357/v_gold357_op4.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(pItem.edict(), "dmg", "200"); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void Skin5Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; CBaseEntity@ pItem; if( sChoice == "Classic Hivehand (Orange/Red)" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_hivehand") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_hivehand" ); szClassname = "weapon_hivehand"; dictKeys = { { "iuser1", "models/hivehand/p_hivehand.mdl" }, { "iuser2", "models/hivehand/w_hivehand.mdl" }, { "iuser3", "models/hivehand/v_hivehandNEW.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "New Hivehand (Orange/Red) (revert from classic)" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_hivehand") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_hivehand" ); szClassname = "weapon_hivehand"; dictKeys = { { "iuser1", "models/hivehand/p_hivehandHD.mdl" }, { "iuser2", "models/hivehand/w_hivehandHD.mdl" }, { "iuser3", "models/hivehand/v_hivehandHDv2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Classic Hivehand (Blue)" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_aghivehand") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_aghivehand" ); szClassname = "weapon_aghivehand"; dictKeys = { { "iuser1", "models/hivehand/p_hivehand.mdl" }, { "iuser2", "models/hivehand/w_hivehand.mdl" }, { "iuser3", "models/hivehand/v_hivehandNEW.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "New Hivehand (Blue) (revert from classic)" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_aghivehand") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_aghivehand" ); szClassname = "weapon_aghivehand"; dictKeys = { { "iuser1", "models/hivehand/p_hivehandHD.mdl" }, { "iuser2", "models/hivehand/w_hivehandHD.mdl" }, { "iuser3", "models/hivehand/v_hivehandHDv2.mdl" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Classic Hornet Gun" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_hornetgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_hornetgun" ); //EccoPlayerInventory::ChangeBalance(pPlayer, -1000); szClassname = "weapon_hornetgun"; dictKeys = { { "iuser1", "models/hivehand/p_hivehand.mdl" }, { "iuser2", "models/hivehand/w_hivehand.mdl" }, { "iuser3", "models/hlclassic/v_HGun.mdl" }, { "netname", "replacement" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; //if(pItem !is null) //{ //g_EntityFuncs.DispatchSpawn(pItem.edict()); //} g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "New Hornet Gun (revert from classic)" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_hornetgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_hornetgun" ); //EccoPlayerInventory::ChangeBalance(pPlayer, -1000); szClassname = "weapon_hornetgun"; dictKeys = { { "iuser1", "models/hivehand/p_hivehandHD.mdl" }, { "iuser2", "models/hivehand/w_hivehandHD.mdl" }, { "iuser3", "models/v_hornetgun3.mdl" }, { "netname", "replacement" }, { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; cast(pItem).m_iDefaultAmmo = 0; //if(pItem !is null) //{ //g_EntityFuncs.DispatchSpawn(pItem.edict()); //} g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Minigun to Assault Cannon - $9000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_minigun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 9000 ) { RemoveSingleItem( pPlayer, "weapon_minigun" ); EccoPlayerInventory::ChangeBalance(pPlayer, -9000); szClassname = "weapon_asscan"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Assault Cannon to Sven Minigun - $8000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_asscan") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 8000 ) { RemoveSingleItem( pPlayer, "weapon_asscan" ); EccoPlayerInventory::ChangeBalance(pPlayer, -8000); szClassname = "weapon_minigun"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Minigun to TF2 Minigun - $9000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_minigun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 9000 ) { RemoveSingleItem( pPlayer, "weapon_minigun" ); EccoPlayerInventory::ChangeBalance(pPlayer, -9000); szClassname = "weapon_tf2minigun"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "TF2 Minigun to Sven Minigun - $8000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_tf2minigun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 8000 ) { RemoveSingleItem( pPlayer, "weapon_tf2minigun" ); EccoPlayerInventory::ChangeBalance(pPlayer, -8000); szClassname = "weapon_minigun"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "TF2 Minigun to Assault Cannon - $9000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_tf2minigun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 9000 ) { RemoveSingleItem( pPlayer, "weapon_tf2minigun" ); EccoPlayerInventory::ChangeBalance(pPlayer, -9000); szClassname = "weapon_asscan"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Assault Cannon to TF2 Minigun - $9000" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_asscan") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 9000 ) { RemoveSingleItem( pPlayer, "weapon_asscan" ); EccoPlayerInventory::ChangeBalance(pPlayer, -9000); szClassname = "weapon_tf2minigun"; dictKeys = { { "spawnflags", "7168" } }; @pItem = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); pItem.pev.origin = vecOrigin; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(pItem.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void SillySkinCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { //m_pSkinMenu6.AddItem( "Sven Co-op Shotgun for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op Shotgun for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M16 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M16 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M249 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M249 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M40A1 for Crowbar", null ); //m_pSkinMenu6.AddItem( "Sven Co-op M40A1 for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Hornet Gun for Crowbar", null ); //m_pSkinMenu6.AddItem( "Hornet Gun for Pipe Wrench", null ); //m_pSkinMenu6.AddItem( "Displacer Cannon for Egon Gluon", null ); //m_pSkinMenu6.AddItem( "Gauss TAU Cannon for Displacer Cannon", null ); if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; if( sChoice == "Pipe Wrench for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_pipe_wrench.mdl" }, { "iuser2", "models/w_pipe_wrench.mdl" }, { "iuser3", "models/opfor/v_pipe_wrench.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Crowbar for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/p_crowbar.mdl" }, { "iuser2", "models/w_crowbar.mdl" }, { "iuser3", "models/opfor/v_crowbar.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Beretta for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_9mmhandgun.mdl" }, { "iuser2", "models/w_9mmhandgun.mdl" }, { "iuser3", "models/opfor/v_9mmhandgun.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Beretta for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/p_9mmhandgun.mdl" }, { "iuser2", "models/w_9mmhandgun.mdl" }, { "iuser3", "models/opfor/v_9mmhandgun.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Python for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_357.mdl" }, { "iuser2", "models/w_357.mdl" }, { "iuser3", "models/opfor/v_357.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Python for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/p_357.mdl" }, { "iuser2", "models/w_357.mdl" }, { "iuser3", "models/opfor/v_357.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Uzi for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_uzi.mdl" }, { "iuser2", "models/w_uzi.mdl" }, { "iuser3", "models/opfor/v_uzi.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Uzi for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/p_357.mdl" }, { "iuser2", "models/w_357.mdl" }, { "iuser3", "models/opfor/v_357.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op MP5 for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_9mmAR.mdl" }, { "iuser2", "models/w_9mmar.mdl" }, { "iuser3", "models/opfor/v_9mmar.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op MP5 for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/p_9mmAR.mdl" }, { "iuser2", "models/w_9mmar.mdl" }, { "iuser3", "models/opfor/v_9mmar.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Sven Co-op Shotgun for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/p_shotgun.mdl" }, { "iuser2", "models/w_shotgun.mdl" }, { "iuser3", "models/opfor/v_shotgun.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Hornet Gun for Crowbar" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_crowbar") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_crowbar" ); szClassname = "weapon_crowbar"; dictKeys = { { "iuser1", "models/hivehand/p_hivehandHD.mdl" }, { "iuser2", "models/hivehand/w_hivehandHD.mdl" }, { "iuser3", "models/hivehand/v_hivehandHDv2.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "Hornet Gun for Pipe Wrench" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_pipewrench") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance >= 0 ) { RemoveSingleItem( pPlayer, "weapon_pipewrench" ); szClassname = "weapon_pipewrench"; dictKeys = { { "iuser1", "models/hivehand/p_hivehandHD.mdl" }, { "iuser2", "models/hivehand/w_hivehandHD.mdl" }, { "iuser3", "models/hivehand/v_hivehandHDv2.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ PipeWrench = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); PipeWrench.pev.origin = vecOrigin; if(PipeWrench !is null) { g_EntityFuncs.DispatchSpawn(PipeWrench.edict()); } g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void Skin10Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; string szClassname; dictionary dictKeys = {}; string sChoice = pItem.m_szName; if( sChoice == "\\yGolden .357 for Sven Python (200 DMG) - $5000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_357") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 4999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -5000); RemoveSingleItem( pPlayer, "weapon_357" ); szClassname = "weapon_357"; dictKeys = { { "iuser1", "models/adamr/weapons/gold357/p_gold357.mdl" }, { "iuser2", "models/adamr/weapons/gold357/w_gold357.mdl" }, { "iuser3", "models/adamr/weapons/gold357/v_gold357_op4.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ Gold357 = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(Gold357.edict(), "dmg", "200"); Gold357.pev.origin = vecOrigin; cast(Gold357).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(Gold357.edict()); } pPlayer.SelectItem( "weapon_357" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "\\yGolden Sven Shotgun (30 DMG/Pellet) - $6000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_shotgun") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 5999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -6000); RemoveSingleItem( pPlayer, "weapon_shotgun" ); szClassname = "weapon_shotgun"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_shotgun_gold.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_shotgun_gold.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_shotgun_gold.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ GoldShotgun = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(GoldShotgun.edict(), "dmg", "30"); GoldShotgun.pev.origin = vecOrigin; cast(GoldShotgun).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(GoldShotgun.edict()); } pPlayer.SelectItem( "weapon_shotgun" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "\\yGolden Sven MP5 (50 DMG) - $8000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_9mmAR") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 7999 ) { EccoPlayerInventory::ChangeBalance(pPlayer, -8000); RemoveSingleItem( pPlayer, "weapon_9mmAR" ); szClassname = "weapon_9mmAR"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_9mmAR_gold.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_9mmAR_gold.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_9mmAR_gold.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ GoldMP5 = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(GoldMP5.edict(), "dmg", "50"); GoldMP5.pev.origin = vecOrigin; cast(GoldMP5).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(GoldMP5.edict()); } pPlayer.SelectItem( "weapon_9mmAR" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } if( sChoice == "\\yGolden Sven M40A1 (500 DMG) - $10000\\w" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] You must be alive!\n" ); return; } if( pPlayer.HasNamedPlayerItem("weapon_sniperrifle") is null ) { g_PlayerFuncs.SayText( pPlayer, "[Skins] Error! The required item was not found in your inventory!\n" ); return; } if( PlayerBalance > 9999 ) { RemoveSingleItem( pPlayer, "weapon_sniperrifle" ); EccoPlayerInventory::ChangeBalance(pPlayer, -10000); szClassname = "weapon_sniperrifle"; dictKeys = { { "iuser1", "models/mapobjects/weaponskins/gold/p_m40a1_gold.mdl" }, { "iuser2", "models/mapobjects/weaponskins/gold/w_m40a1_gold.mdl" }, { "iuser3", "models/mapobjects/weaponskins/gold/v_m40a1_gold.mdl" }, { "spawnflags", "7168" } }; CBaseEntity@ GoldM40A1 = g_EntityFuncs.CreateEntity( szClassname, dictKeys, true ); g_EntityFuncs.DispatchKeyValue(GoldM40A1.edict(), "dmg", "500"); GoldM40A1.pev.origin = vecOrigin; cast(GoldM40A1).m_iDefaultAmmo = 0; if(pItem !is null) { g_EntityFuncs.DispatchSpawn(GoldM40A1.edict()); } pPlayer.SelectItem( "weapon_sniperrifle" ); g_PlayerFuncs.SayText( pPlayer, "[Skins] Exchange successful!\n" ); } else { g_PlayerFuncs.SayText( pPlayer, "[Skins] Not enough cash!\n" ); return; } } } } private void AllyNPCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; string sChoice = pItem.m_szName; if( sChoice == "Chumtoad" ) { szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonome" ) { szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/gonome.mdl"; //keys["displayname"] = "Friendly Gonome"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 800; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Pit drone" ) { szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["initammo"] = "6"; keys["model"] = "models/cnpc/pit_drone.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Pit Drone"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Voltigore" ) { szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Voltigore"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Babygarg" ) { szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/babygargf.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Baby Gargantua"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gargantua" ) { szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/npcspawner/garg.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Gargantua"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonarch" ) { szClassname = "monster_bigmomma"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["model"] = "models/npcspawner/big_mom.mdl"; //keys["displayname"] = "Friendly Big Momma"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Big Momma'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Kingpin" ) { szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Tor" ) { szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/Torf.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Tor"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Tor'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Slave" ) { szClassname = "monster_alien_slave"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/npcspawner/islavef.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Slave'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt" ) { szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/agruntf.mdl"; keys["is_player_ally"] = "1"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt (Custom)" ) { szClassname = "monster_agruntdrone10"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); //keys["netname"] = "summonedally"; //keys["model"] = "models/agruntf.mdl"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Warrior (Custom)" ) { szClassname = "monster_agruntdrone15"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); //keys["netname"] = "summonedally"; //keys["model"] = "models/agruntf.mdl"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Master (Custom)" ) { szClassname = "monster_agruntdrone16"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); //keys["netname"] = "summonedally"; //keys["model"] = "models/agruntf.mdl"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Controller" ) { szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["is_player_ally"] = "1"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Alien Controller"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bullsquid" ) { szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/bullsquid.mdl"; //keys["displayname"] = "Friendly Bullsquid"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Houndeye" ) { szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Houndeye"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Headcrab" ) { szClassname = "monster_headcrab"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; //keys["displayname"] = "Friendly Headcrab"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 4.0; pNPC.pev.health = 80; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/crimecity/zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Manipulated Zombie"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v2" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/npcspawner/l4d_zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Manipulated Zombie"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v3" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/crimson/crimson.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Manipulated Zombie"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sentry" ) { szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["dmg_multiplier"] = "30.0"; keys["armorvalue"] = "100"; keys["spawnflags"] = "32"; keys["attackrange"] = "2200"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = pNPC.pev.max_health * 2; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (TEC-9)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/opfor/barneyN.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (Default)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/npcspawner/barney.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Otis" ) { szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/otis.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shock Trooper" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/strooper.mdl"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; //pStrooper.SetClassification(pPlayer.Classify()); //cast(pStrooper).m_flEffectDamage = 2.0; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 700; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v1)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/tu3sday/aa_alienmerc.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; //pStrooper.SetClassification(pPlayer.Classify()); //cast(pStrooper).m_flEffectDamage = 2.0; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v2)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; //pStrooper.SetClassification(pPlayer.Classify()); //cast(pStrooper).m_flEffectDamage = 2.0; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Heavy Weapons Grunt" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "2"; keys["model"] = "models/hwgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["skin"] = "0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Heavy Weapons Grunt v2" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "2"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["disable_minigun_drop"] = "1"; keys["model"] = "models/sandstone/hwgrunte.mdl"; keys["displayname"] = "Liberated Terrorist Elite Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "1"; keys["model"] = "models/cnpc/hgrunt_medicf.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "16"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "10"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "3"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "5"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "66"; keys["model"] = "models/hgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "130"; keys["model"] = "models/hgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["skin"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 5.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (MP5)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "3"; keys["model"] = "models/rgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (M16)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "5"; keys["model"] = "models/rgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Shotgun)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "10"; keys["model"] = "models/rgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (RPG)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "66"; keys["model"] = "models/rgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Sniper)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "130"; keys["model"] = "models/rgruntf.mdl"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 5.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Sniper)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "256"; keys["model"] = "models/fmassnf.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 5.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (MP5)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "3"; keys["model"] = "models/fmassnf.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (M16)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "5"; keys["model"] = "models/fmassnf.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Pistol)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["model"] = "models/hassassinf.mdl"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Uzi)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hassassin_uzi.mdl"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Pistol)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "1"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Eagle)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "2"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Shotgun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["armorvalue"] = "50"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Akimbo Uzis)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "4"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (MP5)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "5"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Sniper)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "6"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 5.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Minigun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["weapons"] = "7"; keys["armorvalue"] = "50"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/fortified/merkwurdig.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Liberated Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 3000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v2" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/fortified/merkwurdig2.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Liberated Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 4000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v3" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/fortified/merkwurdig3.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Liberated Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Apache" ) { szClassname = "monster_apache"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/apachef.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Osprey" ) { szClassname = "monster_osprey"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["netname"] = "summonedally"; keys["model"] = "models/ospreyf.mdl"; keys["armorvalue"] = "50"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["grunttype"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { cast(pNPC).m_fCanFearCreatures = false; g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } m_pAllyNPCMenu.Open( 0, 0, pPlayer ); } } private void EnemyNPCCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; string sChoice = pItem.m_szName; if( sChoice == "Chumtoad" ) { szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonome" ) { szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["model"] = "models/npcspawner/gonome.mdl"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 800; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Pit drone" ) { szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["initammo"] = "6"; keys["model"] = "models/cnpc/pit_drone.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Voltigore" ) { szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Babygarg" ) { szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/babygarg.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gargantua" ) { szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/garg.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonarch" ) { szClassname = "monster_bigmomma"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; //keys["model"] = "models/npcspawner/big_mom.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Big Momma'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Kingpin" ) { szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Tor" ) { szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/tor.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Tor'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Slave" ) { szClassname = "monster_alien_slave"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/islave.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Slave'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt" ) { szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/npc_agrunt.mdl"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt (Custom)" ) { szClassname = "monster_agruntdrone11"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); //keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Warrior (Custom)" ) { szClassname = "monster_agruntdrone12"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); //keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Master (Custom)" ) { szClassname = "monster_agruntdrone13"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); //keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Controller" ) { szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 300; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bullsquid" ) { szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/bullsquid.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Houndeye" ) { szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Headcrab" ) { szClassname = "monster_headcrab"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimecity/zombie.mdl"; //keys["soundlist"] = "../crimecity/zombie/zombie.txt"; keys["bloodcolor"] = "1"; keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Military Manipulated Zombie"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); cast(pNPC).m_flEffectDamage = 1.5; pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v2" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/l4d_zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Military Manipulated Zombie"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v3" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimson/crimson.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Military Manipulated Zombie"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sentry" ) { szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["spawnflags"] = "32"; keys["attackrange"] = "2200"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = pNPC.pev.max_health * 2; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (TEC-9)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/opfor/barneyN.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (Default)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/barney.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Otis" ) { szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/otis.mdl"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shock Trooper" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/strooper.mdl"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 700; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v1)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/aa_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v2)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Heavy Weapons Grunt" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["disable_minigun_drop"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Heavy Weapons Grunt v2" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["disable_minigun_drop"] = "1"; keys["classify"] = "4"; keys["model"] = "models/sandstone/hwgrunte.mdl"; keys["displayname"] = "Terrorist Elite Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt (Terrorist)" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Medic"; keys["model"] = "models/snd/medic_desert.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt Elite (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Elite Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Terrorist Custom" ) { szClassname = "monster_terrorist"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Terrorist Custom .v2" ) { szClassname = "monster_terrorist2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Human Grunt Custom" ) { szClassname = "monster_hgruntdrone2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Robo Grunt (MP5)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (M16)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Shotgun)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (RPG)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Sniper)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Sniper)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "256"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (MP5)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom (MP5)" ) { szClassname = "monster_assassin3"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom .v2 (MP5)" ) { szClassname = "monster_assassin4"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (M16)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Pistol)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Uzi)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/hassassin_uzi.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Pistol)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Eagle)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Shotgun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Akimbo Uzis)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "4"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (MP5)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Sniper)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "6"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Minigun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "7"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 3000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v2" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 4000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v3" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig3.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "4"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Apache" ) { szClassname = "monster_apache"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/apache.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } m_pEnemyNPCMenu.Open( 0, 0, pPlayer ); } } private void EnemyNPC2Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; string sChoice = pItem.m_szName; if( sChoice == "Chumtoad" ) { szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonome" ) { szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/gonome.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 800; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Pit drone" ) { szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["initammo"] = "6"; keys["model"] = "models/cnpc/pit_drone.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Voltigore" ) { szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Babygarg" ) { szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/babygarg.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gargantua" ) { szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/garg.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonarch" ) { szClassname = "monster_bigmomma"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; //keys["model"] = "models/npcspawner/big_mom.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Big Momma'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Kingpin" ) { szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Tor" ) { szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/tor.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Tor'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 2000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Slave" ) { szClassname = "monster_alien_slave"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/islave.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Slave'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt" ) { szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/npc_agrunt.mdl"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt (Custom)" ) { szClassname = "monster_agruntdrone11"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "5"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Warrior (Custom)" ) { szClassname = "monster_agruntdrone12"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "5"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Master (Custom)" ) { szClassname = "monster_agruntdrone13"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "5"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Controller" ) { szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "4"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 300; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bullsquid" ) { szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/bullsquid.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Houndeye" ) { szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Headcrab" ) { szClassname = "monster_headcrab"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimecity/zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["classify"] = "5"; keys["bloodcolor"] = "1"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["displayname"] = "Undead"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v2" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/l4d_zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["classify"] = "5"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v3" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimson/crimson.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["classify"] = "5"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sentry" ) { szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["spawnflags"] = "32"; keys["attackrange"] = "2200"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = pNPC.pev.max_health * 2; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (TEC-9)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/opfor/barneyN.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (Default)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/barney.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Otis" ) { szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/otis.mdl"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shock Trooper" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/strooper.mdl"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 700; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v1)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/aa_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v2)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Heavy Weapons Grunt" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["disable_minigun_drop"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Heavy Weapons Grunt v2" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/sandstone/hwgrunte.mdl"; keys["displayname"] = "Terrorist Elite Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt (Terrorist)" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Medic"; keys["model"] = "models/snd/medic_desert.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt Elite (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Elite Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "5"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Terrorist Custom" ) { szClassname = "monster_terrorist"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Terrorist Custom .v2" ) { szClassname = "monster_terrorist2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Human Grunt Custom" ) { szClassname = "monster_hgruntdrone2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Robo Grunt (MP5)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (M16)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Shotgun)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (RPG)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Sniper)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Sniper)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "256"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (MP5)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom (MP5)" ) { szClassname = "monster_assassin3"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom .v2 (MP5)" ) { szClassname = "monster_assassin4"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (M16)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Pistol)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Uzi)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/hassassin_uzi.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Pistol)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Eagle)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Shotgun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Akimbo Uzis)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "4"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (MP5)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Sniper)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "6"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Minigun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "7"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 3000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v2" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 4000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v3" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig3.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["classify"] = "5"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Apache" ) { szClassname = "monster_apache"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/apache.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "5"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } m_pEnemyNPC2Menu.Open( 0, 0, pPlayer ); } } private void EnemyNPC3Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; string sChoice = pItem.m_szName; if( sChoice == "Chumtoad" ) { szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "5"; keys["is_player_ally"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonome" ) { szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/gonome.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 800; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Pit drone" ) { szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["initammo"] = "6"; keys["model"] = "models/cnpc/pit_drone.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Voltigore" ) { szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Babygarg" ) { szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/babygarg.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gargantua" ) { szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/garg.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonarch" ) { szClassname = "monster_bigmomma"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Big Momma'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Kingpin" ) { szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Tor" ) { szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/tor.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Tor'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Slave" ) { szClassname = "monster_alien_slave"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/islave.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Slave'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt" ) { szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/npc_agrunt.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt (Custom)" ) { szClassname = "monster_agruntdrone11"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; //keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Warrior (Custom)" ) { szClassname = "monster_agruntdrone12"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; //keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Master (Custom)" ) { szClassname = "monster_agruntdrone13"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; //keys["classify"] = "4"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Controller" ) { szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 300; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bullsquid" ) { szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/bullsquid.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Houndeye" ) { szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Headcrab" ) { szClassname = "monster_headcrab"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimecity/zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["is_not_revivable"] = "1"; keys["bloodcolor"] = "1"; keys["displayname"] = "Undead"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v2" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/l4d_zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v3" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimson/crimson.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sentry" ) { szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["spawnflags"] = "32"; keys["attackrange"] = "2200"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = pNPC.pev.max_health * 2; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (TEC-9)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/opfor/barneyN.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (Default)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/barney.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Otis" ) { szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/otis.mdl"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shock Trooper" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/strooper.mdl"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 700; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v1)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/aa_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v2)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Shock Trooper Mercenary"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Heavy Weapons Grunt" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Heavy Weapons Grunt v2" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; keys["displayname"] = "Terrorist Elite Guard"; keys["model"] = "models/sandstone/hwgrunte.mdl"; keys["disable_minigun_drop"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt (Terrorist)" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Medic"; keys["model"] = "models/snd/medic_desert.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt Elite (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Elite Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Terrorist Custom" ) { szClassname = "monster_terrorist"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Terrorist Custom .v2" ) { szClassname = "monster_terrorist2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Human Grunt Custom" ) { szClassname = "monster_hgruntdrone2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Robo Grunt (MP5)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (M16)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Shotgun)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (RPG)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Sniper)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Sniper)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "256"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (MP5)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom (MP5)" ) { szClassname = "monster_assassin3"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom .v2 (MP5)" ) { szClassname = "monster_assassin4"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "4"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (M16)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Female Assassin"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Pistol)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Uzi)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/hassassin_uzi.mdl"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Pistol)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Eagle)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Shotgun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Akimbo Uzis)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "4"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (MP5)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Sniper)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "6"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Minigun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "7"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 3000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v2" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 4000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v3" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig3.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Apache" ) { szClassname = "monster_apache"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/apache.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } m_pEnemyNPC3Menu.Open( 0, 0, pPlayer ); } } private void EnemyNPC4Callback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; string sChoice = pItem.m_szName; if( sChoice == "Chumtoad" ) { szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "15"; keys["is_player_ally"] = "0"; keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonome" ) { szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "15"; keys["is_player_ally"] = "0"; keys["model"] = "models/npcspawner/gonome.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 800; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Pit drone" ) { szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["initammo"] = "6"; keys["model"] = "models/cnpc/pit_drone.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Voltigore" ) { szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Babygarg" ) { szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/babygarg.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gargantua" ) { szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/garg.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Gonarch" ) { szClassname = "monster_bigmomma"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; //keys["model"] = "models/npcspawner/big_mom.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Big Momma'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Kingpin" ) { szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Tor" ) { szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/tor.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Tor'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Slave" ) { szClassname = "monster_alien_slave"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/islave.mdl"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Slave'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt" ) { szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/npc_agrunt.mdl"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt (Custom)" ) { szClassname = "monster_agruntdrone11"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "15"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Warrior (Custom)" ) { szClassname = "monster_agruntdrone12"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "15"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Grunt Master (Custom)" ) { szClassname = "monster_agruntdrone13"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/cnpc/agrunt.mdl"; keys["classify"] = "15"; //keys["is_player_ally"] = "1"; //keys["friendly"] = "1"; //keys["is_not_revivable"] = "1"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 900; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Alien Controller" ) { szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 300; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bullsquid" ) { szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/bullsquid.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Houndeye" ) { szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Headcrab" ) { szClassname = "monster_headcrab"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimecity/zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["is_not_revivable"] = "1"; keys["bloodcolor"] = "1"; keys["displayname"] = "Undead"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v2" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/l4d_zombie.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 600; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Zombie v3" ) { szClassname = "monster_zombie"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/crimson/crimson.mdl"; keys["soundlist"] = "../hunger/hungerzombie.txt"; keys["bloodcolor"] = "1"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Undead"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Headcrab'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sentry" ) { szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["spawnflags"] = "32"; keys["attackrange"] = "2200"; keys["is_not_revivable"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = pNPC.pev.max_health * 2; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (TEC-9)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/opfor/barneyN.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Barney (Default)" ) { szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/barney.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Security Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Otis" ) { szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["model"] = "models/npcspawner/otis.mdl"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shock Trooper" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/strooper.mdl"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 700; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v1)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/aa_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Shock Trooper Mercenary"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Shock Trooper (Merc v2)" ) { szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Shock Trooper Mercenary"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pStrooper = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pStrooper).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Mercenary'; @pStrooper.pev.euser2 = pPlayer.edict(); pStrooper.pev.health = 800; pStrooper.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pStrooper !is null) { g_EntityFuncs.DispatchSpawn(pStrooper.edict()); m_hSummons.insertLast(EHandle(pStrooper)); } } if( sChoice == "Heavy Weapons Grunt" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Heavy Weapons Grunt v2" ) { szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/sandstone/hwgrunte.mdl"; keys["displayname"] = "Terrorist Elite Guard"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt_medic.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt_opfor.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["model"] = "models/npcspawner/hgrunt.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Medic Grunt (Terrorist)" ) { szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Medic"; keys["model"] = "models/snd/medic_desert.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M249 Grunt Elite (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "16"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Elite Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Shotgun Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "MP5 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "M16 Grunt (Terrorist)" ) { szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/ofhgrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Support Gunner'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "RPG Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Sniper Grunt (Terrorist)" ) { szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; keys["displayname"] = "Terrorist Guard"; keys["model"] = "models/sandstone/rpggrunte.mdl"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sniper Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 100; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Terrorist Custom" ) { szClassname = "monster_terrorist"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Terrorist Custom .v2" ) { szClassname = "monster_terrorist2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Human Grunt Custom" ) { szClassname = "monster_hgruntdrone2"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); } } if( sChoice == "Robo Grunt (MP5)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (M16)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Shotgun)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (RPG)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Robo Grunt (Sniper)" ) { szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Sniper)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "256"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["displayname"] = "Female Assassin"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (MP5)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["displayname"] = "Female Assassin"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom (MP5)" ) { szClassname = "monster_assassin3"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin Custom .v2 (MP5)" ) { szClassname = "monster_assassin4"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["netname"] = "nofollow"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser1 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); //m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (M16)" ) { szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["model"] = "models/fmassnv2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["skin"] = "1"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "0"; keys["displayname"] = "Female Assassin"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Pistol)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; keys["classify"] = "15"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Female Assassin (Silenced Uzi)" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/npcspawner/hassassin_uzi.mdl"; keys["is_not_revivable"] = "1"; keys["classify"] = "15"; keys["is_player_ally"] = "0"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Pistol)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "1"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Eagle)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Shotgun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Akimbo Uzis)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "4"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (MP5)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Sniper)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "6"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Bodyguard (Minigun)" ) { szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "7"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["is_player_ally"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); //cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 3000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v2" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig2.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 4000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Dr. Merkwurdiglust v3" ) { szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/fortified/merkwurdig3.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["displayname"] = "Dr. Merkwurdiglust"; keys["is_player_ally"] = "0"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } if( sChoice == "Apache" ) { szClassname = "monster_apache"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/apache.mdl"; keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; keys["classify"] = "15"; CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); pNPC.pev.health = 5000; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); } } m_pEnemyNPC4Menu.Open( 0, 0, pPlayer ); } } private void SummonsCallback( CTextMenu@ menu, CBasePlayer@ pPlayer, int iSlot, const CTextMenuItem@ pItem ) { if( pItem !is null ) { TraceResult tr; string sChoice = pItem.m_szName; g_EngineFuncs.MakeVectors( pPlayer.pev.v_angle ); g_Utility.TraceHull( pPlayer.pev.origin, pPlayer.pev.origin + g_Engine.v_forward * 82, dont_ignore_monsters, head_hull, pPlayer.edict(), tr ); int PlayerBalance = EccoPlayerInventory::GetBalance(pPlayer); Vector vecOrigin = pPlayer.pev.origin; bool isAdmin = g_PlayerFuncs.AdminLevel(pPlayer) >= ADMIN_YES; if( sChoice == "Zombie (5 Minutes) 3000$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } if( PlayerBalance > 2999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Zombie!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -3000); CBaseEntity@ pAgrunt = g_EntityFuncs.Create( "monster_zombiedrone", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); cast(pAgrunt).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Zombie'; pAgrunt.pev.velocity = g_Engine.v_up * 300; pAgrunt.pev.angles.z = 0; pAgrunt.pev.angles.x = 0; g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "MP5 Human Grunt (5 Minutes) 4000$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } if( PlayerBalance > 3999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Human Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -4000); CBaseEntity@ pAgrunt = g_EntityFuncs.Create( "monster_hgruntdrone", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); cast(pAgrunt).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Human Grunt'; pAgrunt.pev.velocity = g_Engine.v_up * 300; pAgrunt.pev.angles.z = 0; pAgrunt.pev.angles.x = 0; g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "MP5 Female Assassin (5 Minutes) 5000$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } if( PlayerBalance > 4999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Assassin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -5000); CBaseEntity@ pAgrunt = g_EntityFuncs.Create( "monster_assassin", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); cast(pAgrunt).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; pAgrunt.pev.velocity = g_Engine.v_up * 300; pAgrunt.pev.angles.z = 0; pAgrunt.pev.angles.x = 0; g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Special Forces Grunt (5 Minutes) 6000$" ) { if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } if( PlayerBalance > 5999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Special Forces Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -6000); CBaseEntity@ pAgrunt = g_EntityFuncs.Create( "monster_hgruntdroneelite3", vecOrigin, pPlayer.pev.v_angle, false, pPlayer.edict() ); cast(pAgrunt).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Special Force'; pAgrunt.pev.velocity = g_Engine.v_up * 300; pAgrunt.pev.angles.z = 0; pAgrunt.pev.angles.x = 0; g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Chumtoad (Permanent) $500" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_chumtoad"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["is_not_revivable"] = "1"; if( PlayerBalance > 499 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Chumtoad!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -500); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Chumtoad'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.velocity = g_Engine.v_up * 300; pNPC.pev.health = 400; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Gonome (Permanent) $1050" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_gonome"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1049 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Gonome!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1050); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gonome'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Alien Controller (Permanent) $700" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_alien_controller"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 699 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Controller!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -700); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Controller'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Shock Trooper (Permanent) $1100" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_shocktrooper"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/tu3sday/im_alienmerc.mdl"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1099 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Shock Trooper!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1100); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shock Trooper'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.health = 700; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Sentry (Permanent) $1000" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_sentry"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["spawnflags"] = "32"; keys["is_not_revivable"] = "1"; keys["armorvalue"] = "100"; if( PlayerBalance > 999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Sentry!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Sentry'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_flEffectDamage = 0.75; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = pNPC.pev.max_health * 4; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Barney (Permanent) $650" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_barney"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 649 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Security Guard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -650); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Otis (Permanent) $750" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_otis"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["dmg_multiplier"] = "30.0"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 749 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Security Guard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -750); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Security Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 450; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Houndeye (Permanent) $500" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 499 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Houndeye!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -500); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Houndeye (Tough) (Permanent) $1000" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_houndeye"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Houndeye!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Houndeye (Tough)'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 3.0; pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Pit Drone (Permanent) $600" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["initammo"] = "6"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 599 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Pit drone!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -600); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Pit Drone (Tough) (Permanent) $1200" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_pitdrone"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["initammo"] = "6"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1199 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Pit drone!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1200); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Pit Drone (Tough)'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 3.0; pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bullsquid (Permanent) $800" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bullchicken"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 799 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bullsquid!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -800); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bullsquid'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Medic Grunt (Permanent) $1200" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_medic_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["model"] = "models/opfor/hgrunt_medicf.mdl"; keys["weapons"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1199 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Medic Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1200); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Medic Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\gAlly Grunt with Shotgun (Permanent) $2100\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["weapons"] = "10"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2099 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Ally Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2100); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Shotgun Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\gAlly Grunt with MP5 (Permanent) $2150\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2149 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Ally Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2150); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s MP5 Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\gAlly Grunt with M16 (Permanent) $2200\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["weapons"] = "5"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2199 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Ally Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2200); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s M16 Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\gAlly Grunt with M249 (Permanent) $2350\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_grunt_ally"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["model"] = "models/cnpc/hgrunt_opforf.mdl"; keys["weapons"] = "16"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2349 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Ally Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2350); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s M249 Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\gRPG Grunt (Permanent) $2400\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["dmg_multiplier"] = "30.0"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2399 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an RPG Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2400); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s RPG Grunt'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; @pNPC.pev.euser2 = pPlayer.edict(); pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with Desert Eagle (Permanent) $2600" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "2"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2599 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2600); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with Shotgun (Permanent) $1300" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "3"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1299 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1300); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with MP5 (Permanent) $1400" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "5"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1399 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1400); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with Akimbo Uzis (Permanent) $1500" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "4"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1499 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1500); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with M40A1 (Permanent) $1600" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "6"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1599 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1500); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 5.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Bodyguard with Minigun (Permanent) $1700" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_bodyguard"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["weapons"] = "7"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1699 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Bodyguard!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1700); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Bodyguard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 400; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Female Assassin (Permanent) $700" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_human_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/hassassinf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 699 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Assassin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -700); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 300; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Alien Grunt (Permanent) $1280" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_alien_grunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1279 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Alien Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1280); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Alien Grunt'; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 900; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Male Assassin with MP5 (Permanent) $1800" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/massnf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1799 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Assassin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1800); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Male Assassin with M16 (Permanent) $1900" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/massnf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 1899 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Assassin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -1900); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "Male Assassin with M40A1 (Permanent) $2100" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_male_assassin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/massnf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 2099 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned an Assassin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -2100); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Elite Guard'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rRobo Grunt with Shotgun (Permanent) $3400\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "10"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/rgruntf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 3399 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Robo Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -3400); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rRobo Grunt with MP5 (Permanent) $3500\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "3"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/rgruntf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 3499 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Robo Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -3500); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rRobo Grunt with M16 (Permanent) $3800\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "5"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/rgruntf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 3799 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Robo Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -3800); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rRobo Grunt with M40A1 (Permanent) $4000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "130"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/rgruntf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 3999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Robo Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -4000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rRobo Grunt with RPG (Permanent) $3900\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_robogrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "66"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/rgruntf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 3899 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Robo Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -3900); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Robo Grunt'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 500; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\rHeavy Weapons Grunt (Permanent) $5000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_hwgrunt"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["weapons"] = "2"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/hwgruntf.mdl"; keys["is_not_revivable"] = "1"; keys["disable_minigun_drop"] = "1"; if( PlayerBalance > 4999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Heavy Weapons Grunt!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -5000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Heavy Weapons Grunt'; //pNPC.SetClassification(pPlayer.Classify()); //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 800; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\yVoltigore (Permanent) $10000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_alien_voltigore"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 9999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Voltigore!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -10000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Voltigore'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\yBaby Gargantua (Permanent) $12000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_babygarg"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/babygargf.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 11999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Baby Gargantua!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -12000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Baby Gargantua'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 1.5; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\yKingpin (Permanent) $15000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_kingpin"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 14999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Kingpin!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -15000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Kingpin'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\yTor (Permanent) $20000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_alien_tor"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["model"] = "models/Torf.mdl"; keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 19999 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Xen Commander!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -20000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Xen Commander'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 5000; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( sChoice == "\\yGargantua (Permanent) $50000\\w" ) { if ( tr.flFraction != 1.0 ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] Can't summon here, something is in the way!\n" ); m_pSummonMenu.Open( 0, 0, pPlayer ); return; } if ( !pPlayer.IsAlive() ) { g_PlayerFuncs.SayText( pPlayer, "[Summon] You must be alive!\n" ); return; } Vector vecSrc = pPlayer.GetGunPosition(); Vector spawnForward, spawnRight, spawnUp; g_EngineFuncs.AngleVectors(pPlayer.pev.v_angle, spawnForward, spawnRight, spawnUp); vecSrc = vecSrc + (spawnForward * 64); vecSrc.z -= 32; string szClassname; dictionary keys; szClassname = "monster_gargantua"; keys["origin"] = vecSrc.ToString(); keys["angles"] = Vector(0, pPlayer.pev.v_angle.y, 0).ToString(); keys["targetname"] = "_minion_" + pPlayer.entindex(); keys["friendly"] = "1"; keys["is_player_ally"] = "1"; keys["model"] = "models/npcspawner/garg.mdl"; keys["is_not_revivable"] = "1"; if( PlayerBalance > 49999 ) { lastCommandTime2[pPlayer.entindex()] = g_Engine.time; g_PlayerFuncs.SayText( pPlayer, "[Summon] Summoned a Gargantua!\n" ); EccoPlayerInventory::ChangeBalance(pPlayer, -50000); CBaseEntity@ pNPC = g_EntityFuncs.CreateEntity( szClassname, keys, true ); cast(pNPC).m_FormattedName = string( pPlayer.pev.netname ) + '\'s Gargantua'; //pNPC.SetClassification(pPlayer.Classify()); cast(pNPC).m_flEffectDamage = 2.0; //cast(pNPC).m_fCanFearCreatures = false; pNPC.pev.health = 10000; pNPC.pev.velocity = g_Engine.v_up * 300; @pNPC.pev.euser2 = pPlayer.edict(); m_bActive = true; if(pNPC !is null) { g_EntityFuncs.DispatchSpawn(pNPC.edict()); m_hSummons.insertLast(EHandle(pNPC)); if( pPlayer.IsAlive() ) { g_SoundSystem.EmitSound( pPlayer.edict(), CHAN_WEAPON, "debris/beamstart7.wav", VOL_NORM, 0.8 ); } } } else { g_PlayerFuncs.ClientPrint( pPlayer, HUD_PRINTTALK, "[Summon] Not enough cash!\n" ); } } if( isAdmin ) { m_pSummonMenu.Open( 0, 0, pPlayer ); } } } } }