Added client id to MultiTargetFilter forward.
This commit is contained in:
		
							parent
							
								
									fdcce81a41
								
							
						
					
					
						commit
						a363587be9
					
				| @ -64,10 +64,13 @@ static const int kActivityAdmins = 4;			// Show admin activity to admins anonymo | |||||||
| static const int kActivityAdminsNames = 8;		// If 4 is specified, admin names will be shown.
 | static const int kActivityAdminsNames = 8;		// If 4 is specified, admin names will be shown.
 | ||||||
| static const int kActivityRootNames = 16;		// Always show admin names to root users.
 | static const int kActivityRootNames = 16;		// Always show admin names to root users.
 | ||||||
| 
 | 
 | ||||||
|  | #define FEATURECAP_MULTITARGETFILTER_CLIENTPARAM    "SourceMod MultiTargetFilter ClientParam" | ||||||
|  | 
 | ||||||
| class PlayerLogicHelpers :  | class PlayerLogicHelpers :  | ||||||
| 	public SMGlobalClass, | 	public SMGlobalClass, | ||||||
| 	public IPluginsListener, | 	public IPluginsListener, | ||||||
| 	public ICommandTargetProcessor | 	public ICommandTargetProcessor, | ||||||
|  | 	public IFeatureProvider | ||||||
| { | { | ||||||
| 	struct SimpleMultiTargetFilter | 	struct SimpleMultiTargetFilter | ||||||
| 	{ | 	{ | ||||||
| @ -141,6 +144,7 @@ public: //ICommandTargetProcessor | |||||||
| 
 | 
 | ||||||
| 				smtf->fun->PushString(info->pattern); | 				smtf->fun->PushString(info->pattern); | ||||||
| 				smtf->fun->PushCell(ahc.getClone()); | 				smtf->fun->PushCell(ahc.getClone()); | ||||||
|  | 				smtf->fun->PushCell(info->admin); | ||||||
| 				cell_t result = 0; | 				cell_t result = 0; | ||||||
| 				if (smtf->fun->Execute(&result) != SP_ERROR_NONE || !result) | 				if (smtf->fun->Execute(&result) != SP_ERROR_NONE || !result) | ||||||
| 					return false; | 					return false; | ||||||
| @ -185,6 +189,7 @@ public: //SMGlobalClass | |||||||
| 	void OnSourceModAllInitialized() | 	void OnSourceModAllInitialized() | ||||||
| 	{ | 	{ | ||||||
| 		pluginsys->AddPluginsListener(this); | 		pluginsys->AddPluginsListener(this); | ||||||
|  | 		sharesys->AddCapabilityProvider(NULL, this, FEATURECAP_MULTITARGETFILTER_CLIENTPARAM); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	void OnSourceModShutdown() | 	void OnSourceModShutdown() | ||||||
| @ -194,6 +199,7 @@ public: //SMGlobalClass | |||||||
| 			playerhelpers->UnregisterCommandTargetProcessor(this); | 			playerhelpers->UnregisterCommandTargetProcessor(this); | ||||||
| 			filterEnabled = false; | 			filterEnabled = false; | ||||||
| 		} | 		} | ||||||
|  | 		sharesys->DropCapabilityProvider(NULL, this, FEATURECAP_MULTITARGETFILTER_CLIENTPARAM); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| public: //IPluginsListener
 | public: //IPluginsListener
 | ||||||
| @ -211,6 +217,13 @@ public: //IPluginsListener | |||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  | 
 | ||||||
|  | public: //IFeatureProvider
 | ||||||
|  | 
 | ||||||
|  | 	FeatureStatus GetFeatureStatus(FeatureType type, const char *name) | ||||||
|  | 	{ | ||||||
|  | 		return FeatureStatus_Available; | ||||||
|  | 	} | ||||||
| } s_PlayerLogicHelpers; | } s_PlayerLogicHelpers; | ||||||
| 
 | 
 | ||||||
| static cell_t | static cell_t | ||||||
|  | |||||||
| @ -132,16 +132,23 @@ stock void ReplyToTargetError(int client, int reason) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | #define FEATURECAP_MULTITARGETFILTER_CLIENTPARAM    "SourceMod MultiTargetFilter ClientParam"
 | ||||||
|  | 
 | ||||||
| /** | /** | ||||||
|  * Adds clients to a multi-target filter. |  * Adds clients to a multi-target filter. | ||||||
|  * |  * | ||||||
|  * @param pattern       Pattern name. |  * @param pattern       Pattern name. | ||||||
|  * @param clients       Array to fill with unique, valid client indexes. |  * @param clients       Array to fill with unique, valid client indexes. | ||||||
|  |  * @param client        Client that triggered this filter. | ||||||
|  * @return              True if pattern was recognized, false otherwise. |  * @return              True if pattern was recognized, false otherwise. | ||||||
|  |  * | ||||||
|  |  * @note To see if the client param is available, use FeatureType_Capability and FEATURECAP_MULTITARGETFILTER_CLIENTPARAM. | ||||||
|  */ |  */ | ||||||
| typeset MultiTargetFilter { | typeset MultiTargetFilter { | ||||||
| 	function bool (const char[] pattern, Handle clients); | 	function bool (const char[] pattern, Handle clients); | ||||||
| 	function bool (const char[] pattern, ArrayList clients); | 	function bool (const char[] pattern, ArrayList clients); | ||||||
|  | 	function bool (const char[] pattern, Handle clients, int client); | ||||||
|  | 	function bool (const char[] pattern, ArrayList clients, int client); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /** | /** | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user