sm-plugins/_SpamMessage/scripting/SpamMessage.sp
DoganGFL b9efc06bba Rename of unused plugins
either not used at all or in disabled
2019-07-25 00:44:32 +02:00

102 lines
2.8 KiB
SourcePawn

#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++)
{
if (IsClientInGame(client) && !IsFakeClient(client))
{
ShowSyncHudText(client, MessageSync, MessageTxt);
}
}
}
public Action TimerCooldown(Handle timer)
{
SendMessage();
}