2018-12-10 23:26:23 +01:00
# 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 ] ;
char MessageTxt [ 512 ] ;
Handle MessageTimer ;
Handle MessageSync ;
public Plugin myinfo =
{
name = " SpamMessage " ,
author = " Dogan " ,
description = " Provide the server with important informations/advertisements " ,
version = " 1.1.0 " ,
url = " "
}
public void OnPluginStart ( )
{
g_cMessagePosition = CreateConVar ( " sm_message_position " , " -1.0 0.8125 " , " 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 " , " 180 " , " 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 on the message " ) ;
g_cMessagePosition . AddChangeHook ( ConVarChange ) ;
g_cMessageColor . AddChangeHook ( ConVarChange ) ;
g_cMessageCooldown . AddChangeHook ( ConVarChange ) ;
g_cMessageText . AddChangeHook ( ConVarChange ) ;
MessageSync = CreateHudSynchronizer ( ) ;
AutoExecConfig ( true , " plugin.SpamMessage " ) ;
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 ) ;
g_cMessageText . GetString ( MessageTxt , sizeof ( MessageTxt ) ) ;
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 ] , 6.0 , MessageColor [ 0 ] , MessageColor [ 1 ] , MessageColor [ 2 ] , 255 , 1 , 4.0 , 0.8 , 0.8 ) ;
for ( int client = 1 ; client < = MAXPLAYERS ; client + + )
{
2018-12-24 23:13:39 +01:00
if ( IsClientInGame ( client ) & & ! IsFakeClient ( client ) )
2018-12-10 23:26:23 +01:00
{
ShowSyncHudText ( client , MessageSync , MessageTxt ) ;
}
}
}
public Action TimerCooldown ( Handle timer )
{
SendMessage ( ) ;
}