New Plugin: Happy Hour
This commit is contained in:
		
							parent
							
								
									83603f7924
								
							
						
					
					
						commit
						effafb738c
					
				
							
								
								
									
										162
									
								
								HappyHour/scripting/HappyHour.sp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								HappyHour/scripting/HappyHour.sp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,162 @@ | |||||||
|  | #pragma semicolon 1 | ||||||
|  | 
 | ||||||
|  | #include <sourcemod> | ||||||
|  | #include <loghelper> | ||||||
|  | #include <hlstatsx_loghelper> | ||||||
|  | #include <cstrike> | ||||||
|  | #include <multicolors> | ||||||
|  | 
 | ||||||
|  | bool g_bHappyHour; | ||||||
|  | bool g_bHappyHourAdmin; | ||||||
|  | 
 | ||||||
|  | int g_iMorningStart; | ||||||
|  | int g_iMorningEnd; | ||||||
|  | int g_iNightStart; | ||||||
|  | int g_iNightEnd; | ||||||
|  | 
 | ||||||
|  | ConVar g_cvMorningStart; | ||||||
|  | ConVar g_cvMorningEnd; | ||||||
|  | ConVar g_cvNightStart; | ||||||
|  | ConVar g_cvNightEnd; | ||||||
|  | 
 | ||||||
|  | public Plugin myinfo = | ||||||
|  | { | ||||||
|  | 	name = "Happy Hour", | ||||||
|  | 	author = "Dogan + Neon", | ||||||
|  | 	description = "Create an happy hour with more rank points", | ||||||
|  | 	version = "1.0.0", | ||||||
|  | 	url = "" | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) | ||||||
|  | { | ||||||
|  | 	CreateNative("HH_IsItHappyHour", Native_IsItHappyHour); | ||||||
|  | 	RegPluginLibrary("HappyHour"); | ||||||
|  | 
 | ||||||
|  | 	return APLRes_Success; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public void OnPluginStart() | ||||||
|  | { | ||||||
|  | 	g_bHappyHour = false; | ||||||
|  | 	g_bHappyHourAdmin = false; | ||||||
|  | 
 | ||||||
|  | 	CreateTimer(15.0, Timer_CheckTime, _, TIMER_REPEAT); | ||||||
|  | 	CreateTimer(30.0, MessageHappyHour, _, TIMER_REPEAT); | ||||||
|  | 
 | ||||||
|  | 	g_cvMorningStart = CreateConVar("sm_happyhour_morning_start", "10", "starttime of happy hour in the morning (timezone GMT+1 in summer, GMT+2 in winter)"); | ||||||
|  | 	g_cvMorningEnd = CreateConVar("sm_happyhour_morning_end", "14", "endtime of happy hour in the morning/afternoon (timezone GMT+1 in summer, GMT+2 in winter)"); | ||||||
|  | 	g_cvNightStart = CreateConVar("sm_happyhour_night_start", "23", "starttime of happy hour in the night (timezone GMT+1 in summer, GMT+2 in winter)"); | ||||||
|  | 	g_cvNightEnd = CreateConVar("sm_happyhour_night_end", "3", "endtime of happy hour in the night (timezone GMT+1 in summer, GMT+2 in winter)"); | ||||||
|  | 
 | ||||||
|  | 	RegConsoleCmd("sm_hh", Command_DisplayHappyHour, "Shows if happy hour is currently enabled or not"); | ||||||
|  | 
 | ||||||
|  | 	RegAdminCmd("sm_forcehh", AdminCommand_HappyHour, ADMFLAG_GENERIC, "Toggle to enable/disable Happy Hour. Resets after Mapswitch."); | ||||||
|  | 
 | ||||||
|  | 	AutoExecConfig(true, "plugin.HappyHour"); | ||||||
|  | 	GetConVars(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public void GetConVars() | ||||||
|  | { | ||||||
|  | 	g_iMorningStart = g_cvMorningStart.IntValue; | ||||||
|  | 	g_iMorningEnd = g_cvMorningEnd.IntValue; | ||||||
|  | 	g_iNightStart = g_cvNightStart.IntValue; | ||||||
|  | 	g_iNightEnd = g_cvNightEnd.IntValue; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public void ConVarChange(ConVar convar, char[] oldValue, char[] newValue) | ||||||
|  | { | ||||||
|  | 	GetConVars(); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public Action Timer_CheckTime(Handle timer) | ||||||
|  | { | ||||||
|  | 	if(g_bHappyHourAdmin) | ||||||
|  | 		return Plugin_Continue; | ||||||
|  | 
 | ||||||
|  | 	int iTime = GetTime(); | ||||||
|  | 	int iHour; | ||||||
|  | 	char sTime[10]; | ||||||
|  | 
 | ||||||
|  | 	FormatTime(sTime, sizeof(sTime), "%H", iTime); | ||||||
|  | 
 | ||||||
|  | 	iHour = StringToInt(sTime); | ||||||
|  | 
 | ||||||
|  | 	if (((iHour >= g_iMorningStart) && (iHour < g_iMorningEnd)) || ((iHour >= g_iNightStart) && (iHour < g_iNightEnd))) | ||||||
|  | 	{ | ||||||
|  | 		g_bHappyHour = true; | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		g_bHappyHour = false; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return Plugin_Continue; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public void OnMapStart() | ||||||
|  | { | ||||||
|  | 	if(g_bHappyHourAdmin) | ||||||
|  | 	{ | ||||||
|  | 		g_bHappyHourAdmin = false; | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public Action Command_DisplayHappyHour(int client, int args) | ||||||
|  | { | ||||||
|  | 	if(g_bHappyHour) | ||||||
|  | 	{ | ||||||
|  | 		ReplyToCommand(client, "[SM] Happy Hour is currently active."); | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		ReplyToCommand(client, "[SM] Happy Hour is currently not active."); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	return Plugin_Handled; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public Action AdminCommand_HappyHour(int client, int args) | ||||||
|  | { | ||||||
|  | 	ToggleHappyHour(client); | ||||||
|  | 	return Plugin_Handled; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public void ToggleHappyHour(int client) | ||||||
|  | { | ||||||
|  | 	g_bHappyHourAdmin = !g_bHappyHourAdmin; | ||||||
|  | 
 | ||||||
|  | 	if(g_bHappyHour) | ||||||
|  | 	{ | ||||||
|  | 		g_bHappyHour = false; | ||||||
|  | 
 | ||||||
|  | 		ReplyToCommand(client, "[SM] Deactivated Happy Hour."); | ||||||
|  | 		CPrintToChatAll("[SM] %N deactivated Happy Hour!", client); | ||||||
|  | 		LogAction(client, -1, "\"%L\" deactivated Happy Hour.", client); | ||||||
|  | 	} | ||||||
|  | 	else | ||||||
|  | 	{ | ||||||
|  | 		g_bHappyHour = true; | ||||||
|  | 
 | ||||||
|  | 		ReplyToCommand(client, "[SM] Activated Happy Hour."); | ||||||
|  | 		CPrintToChatAll("[SM] %N activated Happy Hour!", client); | ||||||
|  | 		LogAction(client, -1, "\"%L\" activated Happy Hour.", client); | ||||||
|  | 	} | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public Action MessageHappyHour(Handle timer) | ||||||
|  | { | ||||||
|  | 	if(g_bHappyHour) | ||||||
|  | 		CPrintToChatAll("{cyan}[UNLOZE] {red}Happy Hour {cyan}is currently active! Everyone gets 50%% Bonus on all rank points!"); | ||||||
|  | 
 | ||||||
|  | 	return Plugin_Continue; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | public int Native_IsItHappyHour(Handle hPlugin, int numParams) | ||||||
|  | { | ||||||
|  | 	if(g_bHappyHour) | ||||||
|  | 		return true; | ||||||
|  | 
 | ||||||
|  | 	return false; | ||||||
|  | } | ||||||
							
								
								
									
										33
									
								
								HappyHour/scripting/include/HappyHour.inc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								HappyHour/scripting/include/HappyHour.inc
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,33 @@ | |||||||
|  | #if defined _HappyHour_included
 | ||||||
|  | 	#endinput
 | ||||||
|  | #endif
 | ||||||
|  | 
 | ||||||
|  | #define _HappyHour_included
 | ||||||
|  | 
 | ||||||
|  | /** | ||||||
|  |  * Check if it is Happy Hour or not | ||||||
|  |  * | ||||||
|  |  * | ||||||
|  |  * @return                  True if yes, false if no. | ||||||
|  |  */ | ||||||
|  | native bool HH_IsItHappyHour(); | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | public SharedPlugin __pl_HappyHour = | ||||||
|  | { | ||||||
|  | 	name = "HappyHour", | ||||||
|  | 	file = "HappyHour.smx", | ||||||
|  | 
 | ||||||
|  | 	#if defined REQUIRE_PLUGIN
 | ||||||
|  | 		required = 1 | ||||||
|  | 	#else
 | ||||||
|  | 		required = 0 | ||||||
|  | 	#endif
 | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | #if !defined REQUIRE_PLUGIN
 | ||||||
|  | 	public void __pl_HappyHour_SetNTVOptional() | ||||||
|  | 	{ | ||||||
|  | 		MarkNativeAsOptional("HH_IsItHappyHour"); | ||||||
|  | 	} | ||||||
|  | #endif
 | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user