Skip to content

Commit 7287e97

Browse files
committed
Update Readme
1 parent e1b7714 commit 7287e97

File tree

6 files changed

+106
-58
lines changed

6 files changed

+106
-58
lines changed

CustomCommands/Commands.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
{
33
"Title": "Discord",
44
"Command": "discord",
5-
"Message": "{PREFIX}{GREEN}Discord: <link>",
5+
"Message": "{PREFIX}{GREEN}Discord: \n <link>",
66
"CenterMessage": "",
7+
"CenterMessageTime": 4,
78
"PrintTo": 0,
89
"Description": "Command for Discord"
910
},
@@ -12,6 +13,7 @@
1213
"Command": "steam,steamgroup,group",
1314
"Message": "SteamGroup: <link>",
1415
"CenterMessage": "<div>Steam Group</div><br><div><font color='#00ff00'>https...</font></div>",
16+
"CenterMessageTime": 10,
1517
"PrintTo": 7,
1618
"Description": "Command for SteamGroup"
1719
}

CustomCommands/CustomCommands.cs

+78-49
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
namespace CustomCommands
99
{
10-
[MinimumApiVersion(86)]
10+
[MinimumApiVersion(98)]
1111
public class CustomCommands : BasePlugin, IPluginConfig<CustomCommandsConfig>
1212
{
1313
public override string ModuleName => "CustomCommands";
@@ -22,11 +22,15 @@ public class CustomCommands : BasePlugin, IPluginConfig<CustomCommandsConfig>
2222

2323
public CustomCommandsConfig Config { get; set; } = new();
2424

25+
private string PrefixCache = "";
26+
2527
public void OnConfigParsed(CustomCommandsConfig config)
2628
{
2729
Config = config;
2830
}
2931

32+
33+
3034
public override void Load(bool hotReload)
3135
{
3236
if (!Config.IsPluginEnabled)
@@ -38,8 +42,10 @@ public override void Load(bool hotReload)
3842
Console.WriteLine(
3943
$"CustomCommands has been loaded, and the hot reload flag was {hotReload}, path is {ModulePath}");
4044

45+
if (Config.Prefix != PrefixCache)
46+
PrefixCache = ReplaceTags(Config.Prefix);
4147

42-
var json = System.IO.File.ReadAllText(Path.Combine(ModuleDirectory, "Commands.json"));
48+
var json = File.ReadAllText(Path.Combine(ModuleDirectory, "Commands.json"));
4349
var comms = JsonSerializer.Deserialize<List<Commands>>(json);
4450

4551
if (comms != null)
@@ -54,52 +60,8 @@ public override void Load(bool hotReload)
5460
{
5561
if (player == null) return;
5662

57-
string message = ReplaceTags(com.Message);
58-
59-
switch (com.PrintTo)
60-
{
61-
case Sender.ClientChat:
62-
player.PrintToChat(message);
63-
64-
break;
65-
case Sender.AllChat:
66-
Server.PrintToChatAll(message);
67-
68-
break;
69-
case Sender.ClientCenter:
70-
player.PrintToCenterHtml(com.CenterMessage);
71-
72-
break;
73-
case Sender.AllCenter:
74-
foreach (var controller in PlayerList)
75-
controller.PrintToCenterHtml(com.CenterMessage);
76-
77-
break;
78-
case Sender.ClientChatClientCenter:
79-
player.PrintToChat(message);
80-
player.PrintToCenterHtml(com.CenterMessage);
81-
82-
break;
83-
case Sender.ClientChatAllCenter:
84-
player.PrintToChat(message);
85-
foreach (var controller in PlayerList)
86-
controller.PrintToCenterHtml(com.CenterMessage);
87-
88-
break;
89-
case Sender.AllChatClientCenter:
90-
Server.PrintToChatAll(message);
91-
player.PrintToCenterHtml(com.CenterMessage);
92-
93-
break;
94-
case Sender.AllChatAllCenter:
95-
Server.PrintToChatAll(message);
96-
foreach (var controller in PlayerList)
97-
controller.PrintToCenterHtml(com.CenterMessage);
98-
99-
break;
100-
default:
101-
break;
102-
}
63+
TriggerMessage(player, com);
64+
10365
});
10466
}
10567
}
@@ -111,6 +73,73 @@ public override void Load(bool hotReload)
11173
InitializeLists();
11274
}
11375

76+
private void TriggerMessage(CCSPlayerController player, Commands cmd)
77+
{
78+
switch (cmd.PrintTo)
79+
{
80+
case Sender.ClientChat:
81+
PrintToChat(Receiver.Client, player, cmd.Message);
82+
83+
break;
84+
case Sender.AllChat:
85+
PrintToChat(Receiver.Server, player, cmd.Message);
86+
87+
break;
88+
case Sender.ClientCenter:
89+
player.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
90+
91+
break;
92+
case Sender.AllCenter:
93+
foreach (var controller in PlayerList)
94+
controller.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
95+
96+
break;
97+
case Sender.ClientChatClientCenter:
98+
PrintToChat(Receiver.Client, player, cmd.Message);
99+
player.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
100+
101+
break;
102+
case Sender.ClientChatAllCenter:
103+
PrintToChat(Receiver.Client, player, cmd.Message);
104+
foreach (var controller in PlayerList)
105+
controller.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
106+
107+
break;
108+
case Sender.AllChatClientCenter:
109+
PrintToChat(Receiver.Server, player, cmd.Message);
110+
player.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
111+
112+
break;
113+
case Sender.AllChatAllCenter:
114+
PrintToChat(Receiver.Server, player, cmd.Message);
115+
foreach (var controller in PlayerList)
116+
controller.PrintToCenterHtml(cmd.CenterMessage, cmd.CenterMessageTime);
117+
118+
break;
119+
default:
120+
break;
121+
}
122+
}
123+
124+
125+
private void PrintToChat(Receiver printToChat, CCSPlayerController player, string message)
126+
{
127+
string[] msg = ReplaceTags(message).Split("\\n");
128+
129+
switch (printToChat)
130+
{
131+
case Receiver.Client:
132+
foreach (var line in msg)
133+
player.PrintToChat(line);
134+
break;
135+
case Receiver.Server:
136+
foreach (var line in msg)
137+
Server.PrintToChatAll(line);
138+
break;
139+
default:
140+
break;
141+
}
142+
}
114143

115144
private string ReplaceTags(string input)
116145
{
@@ -121,7 +150,7 @@ private string ReplaceTags(string input)
121150
};
122151
string[] replacements =
123152
{
124-
ReplaceTags(Config.Prefix) ,"\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x10", "\x0B", "\x0C", "\x0E",
153+
PrefixCache ,"\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x10", "\x0B", "\x0C", "\x0E",
125154
"\x0A"
126155
};
127156

CustomCommands/CustomCommands.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
</PropertyGroup>
1111

1212
<ItemGroup>
13-
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.86" />
13+
<PackageReference Include="CounterStrikeSharp.API" Version="1.0.98" />
1414
</ItemGroup>
1515

1616
</Project>

CustomCommands/Model/Commands.cs

+7-6
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ namespace CustomCommands.Model
88
{
99
public class Commands
1010
{
11-
public string Title { get; set; }
12-
public string Command { get; set; }
13-
public string Message { get; set; }
14-
public string CenterMessage { get; set; }
15-
public Sender PrintTo { get; set; }
16-
public string Description { get; set; }
11+
public string Title { get; set; } = "";
12+
public string Command { get; set; } = "testtesttest";
13+
public string Message { get; set; } = "testtesttest";
14+
public string CenterMessage { get; set; } = "test";
15+
public int CenterMessageTime { get; set; } = 1;
16+
public Sender PrintTo { get; set; } = Sender.ClientChat;
17+
public string Description { get; set; } = "Description";
1718
}
1819
public enum Sender
1920
{

CustomCommands/Model/Receiver.cs

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace CustomCommands.Model
8+
{
9+
public enum Receiver
10+
{
11+
Client = 0,
12+
Server = 1
13+
}
14+
}

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ Create your custom commands in ./plugins/CustomCommands/Commands.json
99
{
1010
"Title": "Discord",
1111
"Command": "discord",
12-
"Message": "{GREEN}Discord: <link>",
12+
"Message": "{PREFIX}{GREEN}Discord: \n <link>",
1313
"CenterMessage": "",
14+
"CenterMessageTime": 1,
1415
"PrintTo": 0,
1516
"Description": "Command for Discord"
1617
},
@@ -19,6 +20,7 @@ Create your custom commands in ./plugins/CustomCommands/Commands.json
1920
"Command": "steam,steamgroup,group",
2021
"Message": "SteamGroup: <link>",
2122
"CenterMessage": "<div>Steam Group</div><br><div><font color='#00ff00'>https...</font></div>",
23+
"CenterMessageTime": 2,
2224
"PrintTo": 7,
2325
"Description": "Command for SteamGroup"
2426
}

0 commit comments

Comments
 (0)