-
Notifications
You must be signed in to change notification settings - Fork 13
Expand file tree
/
Copy pathCommandSlay.cs
More file actions
99 lines (89 loc) · 3.04 KB
/
Copy pathCommandSlay.cs
File metadata and controls
99 lines (89 loc) · 3.04 KB
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
using Rocket.API;
using Rocket.Unturned;
using Rocket.Unturned.Chat;
using Rocket.Unturned.Commands;
using Rocket.Unturned.Player;
using SDG;
using SDG.Unturned;
using Steamworks;
using System.Collections.Generic;
namespace fr34kyn01535.GlobalBan
{
public class CommandSlay : IRocketCommand
{
public string Help
{
get { return "Banns a player for a year"; }
}
public string Name
{
get { return "slay"; }
}
public string Syntax
{
get { return "<player>"; }
}
public List<string> Aliases
{
get { return new List<string>(); }
}
public AllowedCaller AllowedCaller
{
get { return AllowedCaller.Both; }
}
public List<string> Permissions
{
get
{
return new List<string>() { "globalban.slay" };
}
}
public void Execute(IRocketPlayer caller, params string[] command)
{
SteamPlayer otherSteamPlayer = null;
SteamPlayerID steamPlayerID = null;
if (command.Length == 0 || command.Length > 2)
{
UnturnedChat.Say(caller, GlobalBan.Instance.Translate("command_generic_invalid_parameter"));
return;
}
bool isOnline = false;
CSteamID steamid;
string charactername = null;
if (!PlayerTool.tryGetSteamPlayer(command[0], out otherSteamPlayer))
{
KeyValuePair<CSteamID, string> player = GlobalBan.GetPlayer(command[0]);
if (player.Key != null)
{
steamid = player.Key;
charactername = player.Value;
}
else
{
UnturnedChat.Say(caller, GlobalBan.Instance.Translate("command_generic_player_not_found"));
return;
}
}
else
{
isOnline = true;
steamid = otherSteamPlayer.playerID.steamID;
charactername = otherSteamPlayer.playerID.characterName;
}
if (command.Length >= 2)
{
GlobalBan.Instance.Database.BanPlayer(charactername, steamid.ToString(), caller.DisplayName, command[1], 31536000);
UnturnedChat.Say(GlobalBan.Instance.Translate("command_ban_public_reason", charactername, command[1]));
if (isOnline)
Provider.kick(steamPlayerID.steamID, command[1]);
}
else
{
GlobalBan.Instance.Database.BanPlayer(charactername, steamid.ToString(), caller.DisplayName, "", 31536000);
UnturnedChat.Say(GlobalBan.Instance.Translate("command_ban_public", charactername));
if (isOnline)
Provider.kick(steamPlayerID.steamID, GlobalBan.Instance.Translate("command_ban_private_default_reason"));
}
}
}
}