View Single Post
SpeeDeeR
Veteran Member
Join Date: Mar 2010
Location: Bulgaria
Old 07-08-2014 , 18:12   Re: Spectate CT Team Only
Reply With Quote #2

I have been working on this for some time now. Great timing.

Use cvar spec_force_team X where X is the team ( 1 - T, 2 - CT )

Code:
#include <amxmodx> #include <orpheu> #include <fakemeta> #include <engine> #define PLUGIN "Force Spectate" #define VERSION "1.1" #define AUTHOR "SpeeDeeR" #define get_team(%0)    ( get_pdata_int( %0, m_iTeam ) ) #define MAXPLAYERS  32 const m_iTeam = 114; new pcvar_force_team; new OrpheuFunction: Observer_IsValidTarget; public plugin_init() {     register_plugin( PLUGIN, VERSION, AUTHOR );         Observer_IsValidTarget = OrpheuGetFunction( "Observer_IsValidTarget", "CBasePlayer" );         OrpheuRegisterHook( Observer_IsValidTarget, "Observer_IsValidTarget_Pre", OrpheuHookPre  );         pcvar_force_team = register_cvar("spec_force_team", "2"); } public  Observer_IsValidTarget_Pre( const this, const iTarget, const bool:bOnlyTeam ) {     if( is_user_alive( iTarget ) )     {         static ppcvar; ppcvar = get_pcvar_num( pcvar_force_team  );                 if( get_team( iTarget ) != ppcvar )         {             static id; id = iTarget;             while ( ( id = find_ent_by_class( id, "player" ) ) != iTarget )             {                 if(get_team( id ) != ppcvar )                     continue;                                 OrpheuSetParam( 2, id );                                 break;             }         }     } }
Attached Files
File Type: zip force_spectate.zip (4.1 KB, 135 views)

Last edited by SpeeDeeR; 07-08-2014 at 19:01. Reason: formating
SpeeDeeR is offline