ConnectAnnounce: clean up + add to sm_settings
This commit is contained in:
		
							parent
							
								
									c89e6f8235
								
							
						
					
					
						commit
						9196f8fcb6
					
				| @ -17,7 +17,6 @@ Handle g_hCustomMessageFile; | |||||||
| Handle g_hCustomMessageFile2; | Handle g_hCustomMessageFile2; | ||||||
| 
 | 
 | ||||||
| bool g_bHideCsays[MAXPLAYERS + 1] = { false, ... }; | bool g_bHideCsays[MAXPLAYERS + 1] = { false, ... }; | ||||||
| bool g_bHideCsaysHooked = false; |  | ||||||
| Handle g_hCookieHideCsays = null; | Handle g_hCookieHideCsays = null; | ||||||
| 
 | 
 | ||||||
| #define MSGLENGTH 100 | #define MSGLENGTH 100 | ||||||
| @ -56,32 +55,27 @@ public void OnPluginStart() | |||||||
| 	RegAdminCmd("sm_joinmsg", Command_JoinMsg, ADMFLAG_CUSTOM1, "Sets a custom message which will be shown upon connecting to the server"); | 	RegAdminCmd("sm_joinmsg", Command_JoinMsg, ADMFLAG_CUSTOM1, "Sets a custom message which will be shown upon connecting to the server"); | ||||||
| 	RegAdminCmd("sm_resetjoinmsg", Command_ResetJoinMsg, ADMFLAG_CUSTOM1, "Resets your custom connect message"); | 	RegAdminCmd("sm_resetjoinmsg", Command_ResetJoinMsg, ADMFLAG_CUSTOM1, "Resets your custom connect message"); | ||||||
| 
 | 
 | ||||||
| 	RegConsoleCmd("sm_hide_connect_csay", HideCsays, "Toggle blocking connect csay messages"); | 	RegConsoleCmd("sm_hide_connect_csay", OnToggleHideCsays, "Toggle blocking connect csay messages"); | ||||||
| 
 | 
 | ||||||
| 	g_hCookieHideCsays = RegClientCookie("csays_blocked", "are csays blocked", CookieAccess_Protected); | 	g_hCookieHideCsays = RegClientCookie("csays_blocked", "are csays blocked", CookieAccess_Protected); | ||||||
|  | 
 | ||||||
|  | 	SetCookieMenuItem(MenuHandler_CookieMenu, 0, "Hide Connect Csays"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //---------------------------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------------------------- | ||||||
| // Purpose: | // Purpose: | ||||||
| //---------------------------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------------------------- | ||||||
| public Action HideCsays(int client, int args) | public void ToggleHideCsays(int client) | ||||||
| { | { | ||||||
| 	g_bHideCsays[client] = !g_bHideCsays[client]; | 	g_bHideCsays[client] = !g_bHideCsays[client]; | ||||||
| 	CheckHooks(); |  | ||||||
| 
 | 
 | ||||||
| 	if(g_bHideCsays[client]) | 	SetClientCookie(client, g_hCookieHideCsays, g_bHideCsays[client] ? "1" : ""); | ||||||
| 	{ | 	CPrintToChat(client, "{cyan}[AntiLenny] {white}%s", g_bHideCsays[client] ? "You hid Connect Csay Messages." : "You unhid Connect Csay Messages."); | ||||||
| 		ReplyToCommand(client, "You blocked Connect Csays"); |  | ||||||
| 		SetClientCookie(client, g_hCookieHideCsays, "1"); |  | ||||||
| 	} |  | ||||||
| 	else |  | ||||||
| 	{ |  | ||||||
| 		ReplyToCommand(client, "You unblocked Connect Csays"); |  | ||||||
| 		SetClientCookie(client, g_hCookieHideCsays, ""); |  | ||||||
| 	} |  | ||||||
| 	return Plugin_Handled; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
| public void OnClientCookiesCached(int client) | public void OnClientCookiesCached(int client) | ||||||
| { | { | ||||||
| 	char sBuffer[2]; | 	char sBuffer[2]; | ||||||
| @ -91,7 +85,6 @@ public void OnClientCookiesCached(int client) | |||||||
| 	if(sBuffer[0] != '\0') | 	if(sBuffer[0] != '\0') | ||||||
| 	{ | 	{ | ||||||
| 		g_bHideCsays[client] = true; | 		g_bHideCsays[client] = true; | ||||||
| 		g_bHideCsaysHooked = true; |  | ||||||
| 	} | 	} | ||||||
| 	else | 	else | ||||||
| 	{ | 	{ | ||||||
| @ -99,26 +92,85 @@ public void OnClientCookiesCached(int client) | |||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
| public void OnClientDisconnect(int client) | public void OnClientDisconnect(int client) | ||||||
| { | { | ||||||
| 	g_bHideCsays[client] = false; | 	g_bHideCsays[client] = false; | ||||||
| 	CheckHooks(); |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| public void CheckHooks() | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public Action OnToggleHideCsays(int client, int args) | ||||||
| { | { | ||||||
| 	bool bShouldHook = false; | 	ToggleHideCsays(client); | ||||||
|  | 	return Plugin_Handled; | ||||||
|  | } | ||||||
| 
 | 
 | ||||||
| 	for(int i = 1; i <= MaxClients; i++) | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public void ShowSettingsMenu(int client) | ||||||
| { | { | ||||||
| 		if(g_bHideCsays[i]) | 	Menu menu = new Menu(MenuHandler_MainMenu); | ||||||
|  | 
 | ||||||
|  | 	menu.SetTitle("ConnectCsay Settings", client); | ||||||
|  | 
 | ||||||
|  | 	char sBuffer[128]; | ||||||
|  | 	Format(sBuffer, sizeof(sBuffer), "Hiding Connect Csays: %s", g_bHideCsays[client] ? "Enabled" : "Disabled"); | ||||||
|  | 
 | ||||||
|  | 	menu.AddItem("0", sBuffer); | ||||||
|  | 
 | ||||||
|  | 	menu.ExitBackButton = true; | ||||||
|  | 
 | ||||||
|  | 	menu.Display(client, MENU_TIME_FOREVER); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public void MenuHandler_CookieMenu(int client, CookieMenuAction action, any info, char[] buffer, int maxlen) | ||||||
| { | { | ||||||
| 			bShouldHook = true; | 	switch(action) | ||||||
| 			break; | 	{ | ||||||
|  | 		case(CookieMenuAction_DisplayOption): | ||||||
|  | 		{ | ||||||
|  | 			Format(buffer, maxlen, "ConnectAnnounce", client); | ||||||
|  | 		} | ||||||
|  | 		case(CookieMenuAction_SelectOption): | ||||||
|  | 		{ | ||||||
|  | 			ShowSettingsMenu(client); | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 	g_bHideCsaysHooked = bShouldHook; | //---------------------------------------------------------------------------------------------------- | ||||||
|  | // Purpose: | ||||||
|  | //---------------------------------------------------------------------------------------------------- | ||||||
|  | public int MenuHandler_MainMenu(Menu menu, MenuAction action, int client, int selection) | ||||||
|  | { | ||||||
|  | 	switch(action) | ||||||
|  | 	{ | ||||||
|  | 		case(MenuAction_Select): | ||||||
|  | 		{ | ||||||
|  | 			switch(selection) | ||||||
|  | 			{ | ||||||
|  | 				case(0): ToggleHideCsays(client); | ||||||
|  | 			} | ||||||
|  | 
 | ||||||
|  | 			ShowSettingsMenu(client); | ||||||
|  | 		} | ||||||
|  | 		case(MenuAction_Cancel): | ||||||
|  | 		{ | ||||||
|  | 			ShowCookieMenu(client); | ||||||
|  | 		} | ||||||
|  | 		case(MenuAction_End): | ||||||
|  | 		{ | ||||||
|  | 			delete menu; | ||||||
|  | 		} | ||||||
|  | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| //---------------------------------------------------------------------------------------------------- | //---------------------------------------------------------------------------------------------------- | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user