forked from PenisBlistashiq/Rust-plugins-236-240-dev
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHTeamWarning.cs
More file actions
71 lines (59 loc) · 2.83 KB
/
Copy pathHTeamWarning.cs
File metadata and controls
71 lines (59 loc) · 2.83 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
using Oxide.Core.Plugins;
using System.Collections.Generic;
using Oxide.Game.Rust.Cui;
namespace Oxide.Plugins
{
[Info("HTeamWarning", "https://topplugin.ru/", "1.0.0")]
public class HTeamWarning : RustPlugin
{
private const int TeamLimit = 3; // Максимальное количество игроков в команде
private const string PanelName = "TeamLimitWarningPanel";
void OnTeamInvite(BasePlayer sender, BasePlayer receiver)
{
if (sender.currentTeam != 0 && RelationshipManager.ServerInstance.teams[sender.currentTeam].members.Count >= TeamLimit)
{
sender.ChatMessage("Ваша команда достигла лимита, если вы примите еще одного игрока - вы будете забанены!");
return;
}
ShowWarningCUI(sender);
ShowWarningCUI(receiver);
}
void OnTeamAccept(BasePlayer receiver, ulong teamID)
{
var team = RelationshipManager.ServerInstance.FindTeam(teamID);
if (team != null && team.members.Count >= TeamLimit)
{
receiver.ChatMessage("Невозможно вступить в команду, достигнут максимальный размер команды (3 игрока).");
return;
}
ShowWarningCUI(receiver);
}
private void ShowWarningCUI(BasePlayer player)
{
DestroyWarningCUI(player);
CuiElementContainer elements = new CuiElementContainer();
elements.Add(new CuiPanel
{
Image = { Color = "0 0 0 0.75" },
RectTransform = { AnchorMin = "0.25 0.8", AnchorMax = "0.75 0.9" },
CursorEnabled = false
}, "Overlay", PanelName);
elements.Add(new CuiLabel
{
Text = {
Text = "<color=red>ВНИМАНИЕ!</color> Лимит игроков в команде - <color=orange>3 человека</color>.\nВы несёте ответственность за всех своих тиммейтов (если один из них - <color=red>читер</color>, вы будете заблокированы).",
FontSize = 15,
Color = "1 1 1 1"
},
RectTransform = { AnchorMin = "0.05 0.1", AnchorMax = "0.95 0.9" }
}, PanelName);
CuiHelper.AddUi(player, elements);
Puts($"Отправлено CUI предупреждение для {player.displayName}");
timer.Once(10f, () => DestroyWarningCUI(player));
}
private void DestroyWarningCUI(BasePlayer player)
{
CuiHelper.DestroyUi(player, PanelName);
}
}
}