gagsystem.inc

#if defined _gagsystem_included
	#endinput
#endif
#define _gagsystem_included

/**
 * Called when a player has been gagged
 *
 * @note This forward is called only if the player had been in the server.
 *
 * @param id   Index of the gagged player
 *
 * @return      This forward ignores the returned value
 */
forward user_gagged(id)

/**
 * Called when player got ungagged
 *
 * @note This forward is called only on alive clients. If player has been ungagged
 * 		 while not in the server, the forward won't get called.
 * @note This forward is also called when player's gag has expired.
 *
 * @param id 	Index of the ungagged player
 *
 * @return		This forward ignores the returned value
 */
forward user_ungagged(id)

/**
 * Checks if player is gagged
 *
 * @param id 		Client index
 * @param print 	Should gag info be printed to the target player
 *
 * @return			Returns 1 if player is gagged otherwise 0
 * @error			If the index is not within the range of 1 to MaxClients or
 * 					the client is not connected, an error will be thrown.
 */
native is_user_gagged(id, print = 0)

/**
 * Gags player by given name and ip
 *
 * @param name		Player name
 * @param ip		Player IP address
 * @param duration	Gag duration in minutes
 * @param reason	Reason for the gag
 * @param admin		Admin name who made the gag
 *
 * @noreturn
 * @error           If the IP address is not in the valid format or
 * 					duration is negative, an error will be thrown
 */
native gag_user(name[], ip[], duration, reason[], admin[])

/**
 * Gags player by given id
 *
 * @param id		Client index
 * @param duration	Gag duration in minutes
 * @param reason	Reason for the gag
 * @param admin		Admin name who made the gag
 *
 * @noreturn
 * @error           If the index is not within the range of 1 to MaxClients or
 * 					the client is not connected or duration is negative,
 *					an error will be thrown.
 */
native gag_user_byid(id, duration, reason[], admin[])

/**
 * Ungags player by given name and ip
 *
 * @param name		Player name
 * @param ip		Player IP address
 * @param admin		Admin name who removed the gag
 *
 * @noreturn
 * @error           If the IP address is not in the valid format,
 *					an error will be thrown
 */
native ungag_user(name[], ip[], admin[])

/**
 * Ungags player by given id
 *
 * @param id		Player name
 * @param admin		Admin name who removed the gag
 *
 * @noreturn
 * @error           If the index is not within the range of 1 to MaxClients or
 * 					the client is not connected, an error will be thrown.
 */
native ungag_user_byid(id, admin[])