-
Notifications
You must be signed in to change notification settings - Fork 0
/
store_chat_messages.sp
106 lines (77 loc) · 2.56 KB
/
store_chat_messages.sp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <sourcemod>
#include <store>
#include <multicolors>
#include <cstrike>
#include <autoexecconfig>
#pragma semicolon 1
ConVar g_hTag;
char g_cTag[20] = "-T-";
public Plugin myinfo = {
name = "Store Welcome/Leave Messages",
author = "Totenfluch",
version = "1.0",
description = "Join/Leave Messages if bought",
url = "https://totenfluch.de"
};
#pragma newdecls required
public void OnPluginStart() {
Store_RegisterHandler("welcomemsg", "", welcome_OnMapStart, welcome_Reset, welcome_Config, welcome_Equip, welcome_Remove, true);
Store_RegisterHandler("leavemsg", "", leavemsg_OnMapStart, leavemsg_Reset, leavemsg_Config, leavemsg_Equip, leavemsg_Remove, true);
AutoExecConfig_SetFile("store_chat_messages");
AutoExecConfig_SetCreateFile(true);
g_hTag = AutoExecConfig_CreateConVar("store_chat_messages_chattag", "-T-", "sets the chat tag before every message for Plugin");
AutoExecConfig_CleanFile();
AutoExecConfig_ExecuteFile();
}
public void OnConfigsExecuted() {
GetConVarString(g_hTag, g_cTag, sizeof(g_cTag));
}
public void welcome_OnMapStart() { }
public void welcome_Reset() { }
public bool welcome_Config(Handle kv, int itemid) {
Store_SetDataIndex(itemid, 0);
return true;
}
public int welcome_Equip(int client, int id) {
return -1;
}
public void welcome_Remove(int client, int id) { }
public void leavemsg_OnMapStart() { }
public void leavemsg_Reset() { }
public bool leavemsg_Config(Handle kv, int itemid) {
Store_SetDataIndex(itemid, 0);
return true;
}
public int leavemsg_Equip(int client, int id) {
return -1;
}
public void leavemsg_Remove(int client, int id) { }
public void OnClientAuthorized(int client) {
if (isValidClient(client)) {
int m_iEquipped = Store_GetEquippedItem(client, "welcomemsg");
if (m_iEquipped < 0) {
return;
}
char name[MAX_NAME_LENGTH + 1];
char tag[64];
GetClientName(client, name, sizeof(name));
CS_GetClientClanTag(client, tag, sizeof(tag));
CPrintToChatAll("{red}[{purple}%s{red}] {olive}%s %s{green} has joined the Game!", g_cTag, tag, name);
}
}
public void OnClientDisconnect(int client) {
if (isValidClient(client)) {
int m_iEquipped = Store_GetEquippedItem(client, "leavemsg");
if (m_iEquipped < 0) {
return;
}
char name[MAX_NAME_LENGTH + 1];
char tag[64];
GetClientName(client, name, sizeof(name));
CS_GetClientClanTag(client, tag, sizeof(tag));
CPrintToChatAll("{red}[{purple}%s{red}] {olive}%s %s{green} has left the Game!", g_cTag, tag, name);
}
}
stock bool isValidClient(int client) {
return (1 <= client <= MaxClients && IsClientInGame(client));
}