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; | ||||
| 
 | ||||
| bool g_bHideCsays[MAXPLAYERS + 1] = { false, ... }; | ||||
| bool g_bHideCsaysHooked = false; | ||||
| Handle g_hCookieHideCsays = null; | ||||
| 
 | ||||
| #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_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); | ||||
| 
 | ||||
| 	SetCookieMenuItem(MenuHandler_CookieMenu, 0, "Hide Connect Csays"); | ||||
| } | ||||
| 
 | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| // Purpose: | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| public Action HideCsays(int client, int args) | ||||
| public void ToggleHideCsays(int client) | ||||
| { | ||||
| 	g_bHideCsays[client] = !g_bHideCsays[client]; | ||||
| 	CheckHooks(); | ||||
| 
 | ||||
| 	if(g_bHideCsays[client]) | ||||
| 	{ | ||||
| 		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; | ||||
| 	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."); | ||||
| } | ||||
| 
 | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| // Purpose: | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| public void OnClientCookiesCached(int client) | ||||
| { | ||||
| 	char sBuffer[2]; | ||||
| @ -91,7 +85,6 @@ public void OnClientCookiesCached(int client) | ||||
| 	if(sBuffer[0] != '\0') | ||||
| 	{ | ||||
| 		g_bHideCsays[client] = true; | ||||
| 		g_bHideCsaysHooked = true; | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| @ -99,26 +92,85 @@ public void OnClientCookiesCached(int client) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| // Purpose: | ||||
| //---------------------------------------------------------------------------------------------------- | ||||
| public void OnClientDisconnect(int client) | ||||
| { | ||||
| 	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; | ||||
| 			break; | ||||
| 	switch(action) | ||||
| 	{ | ||||
| 		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