new plugin: spam notifications
This commit is contained in:
		
							parent
							
								
									75fb3b22f5
								
							
						
					
					
						commit
						549f8b4032
					
				
							
								
								
									
										101
									
								
								SpamNotification/scripting/SpamNotification.sp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										101
									
								
								SpamNotification/scripting/SpamNotification.sp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,101 @@ | ||||
| #pragma semicolon 1 | ||||
| 
 | ||||
| #include <sourcemod> | ||||
| #include <sdktools> | ||||
| /*#include <zombiereloaded> | ||||
| #include <cstrike> | ||||
| #include <ccc> | ||||
| #include <multicolors>*/ | ||||
| 
 | ||||
| ConVar g_cMessagePosition; | ||||
| ConVar g_cMessageColor; | ||||
| ConVar g_cMessageCooldown; | ||||
| ConVar g_cMessageText; | ||||
| 
 | ||||
| float MessagePos[2]; | ||||
| int MessageColor[3]; | ||||
| Handle MessageTimer; | ||||
| Handle MessageSync; | ||||
| 
 | ||||
| public Plugin myinfo = | ||||
| { | ||||
| 	name = "SpamNotification", | ||||
| 	author = "Dogan", | ||||
| 	description = "Provide the server with important informations/advertisements", | ||||
| 	version = "1.0.0", | ||||
| 	url = "" | ||||
| } | ||||
| 
 | ||||
| public void OnPluginStart() | ||||
| { | ||||
| 	g_cMessagePosition = CreateConVar("sm_message_position", "-1.0 0.8", "The x and y positions for the message"); | ||||
| 	g_cMessageColor = CreateConVar("sm_message_color", "0 255 0", "RGB color value for the message"); | ||||
| 	g_cMessageCooldown = CreateConVar("sm_message_cooldown", "120", "Cooldown of the message in seconds"); | ||||
| 	g_cMessageText = CreateConVar("sm_message_text", "UNLOZE Christmas Sale: 25'%' on all VIP Offers. Check www.unloze.com for more info", "text thats shown at the message"); | ||||
| 
 | ||||
| 	g_cMessagePosition.AddChangeHook(ConVarChange); | ||||
| 	g_cMessageColor.AddChangeHook(ConVarChange); | ||||
| 	g_cMessageCooldown.AddChangeHook(ConVarChange); | ||||
| 
 | ||||
| 	MessageSync = CreateHudSynchronizer(); | ||||
| 
 | ||||
| 	AutoExecConfig(true, "plugin.SpamNotification"); | ||||
| 	GetConVars(); | ||||
| } | ||||
| 
 | ||||
| public void ColorStringToArray(const char[] sColorString, int aColor[3]) | ||||
| { | ||||
| 	char asColors[4][4]; | ||||
| 	ExplodeString(sColorString, " ", asColors, sizeof(asColors), sizeof(asColors[])); | ||||
| 
 | ||||
| 	aColor[0] = StringToInt(asColors[0]); | ||||
| 	aColor[1] = StringToInt(asColors[1]); | ||||
| 	aColor[2] = StringToInt(asColors[2]); | ||||
| } | ||||
| 
 | ||||
| public void GetConVars() | ||||
| { | ||||
| 	char StringPos[2][8]; | ||||
| 	char PosValue[16]; | ||||
| 	g_cMessagePosition.GetString(PosValue, sizeof(PosValue)); | ||||
| 	ExplodeString(PosValue, " ", StringPos, sizeof(StringPos), sizeof(StringPos[])); | ||||
| 
 | ||||
| 	MessagePos[0] = StringToFloat(StringPos[0]); | ||||
| 	MessagePos[1] = StringToFloat(StringPos[1]); | ||||
| 
 | ||||
| 	char ColorValue[64]; | ||||
| 	g_cMessageColor.GetString(ColorValue, sizeof(ColorValue)); | ||||
| 
 | ||||
| 	ColorStringToArray(ColorValue, MessageColor); | ||||
| 
 | ||||
| 	char MessageValue[512]; | ||||
| 	g_cMessageText.GetString(MessageValue, sizeof(MessageValue)); | ||||
| 
 | ||||
| 	if (MessageTimer != INVALID_HANDLE && CloseHandle(MessageTimer)) | ||||
| 		MessageTimer = INVALID_HANDLE; | ||||
| 
 | ||||
| 	MessageTimer = CreateTimer(g_cMessageCooldown.FloatValue, TimerCooldown, _, TIMER_REPEAT); | ||||
| } | ||||
| 
 | ||||
| public void ConVarChange(ConVar convar, char[] oldValue, char[] newValue) | ||||
| { | ||||
| 	GetConVars(); | ||||
| } | ||||
| 
 | ||||
| public void SendMessage() | ||||
| { | ||||
| 	SetHudTextParams(MessagePos[0], MessagePos[1], 5.0, MessageColor[0], MessageColor[1], MessageColor[2], 255, 1, 3.0, 0.4, 0.4); | ||||
| 
 | ||||
| 	for (int client = 1; client <= MAXPLAYERS; client++) | ||||
| 	{ | ||||
| 		if (IsClientConnected(client)) | ||||
| 		{ | ||||
| 			ShowSyncHudText(client, MessageSync, g_cMessageText); | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| public Action TimerCooldown(Handle timer) | ||||
| { | ||||
| 	SendMessage(); | ||||
| } | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user