forked from Ev1dentFir3/Duty
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDuty.cs
96 lines (89 loc) · 4.3 KB
/
Duty.cs
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
using Rocket.Unturned.Commands;
using Rocket.Unturned.Player;
using Rocket.Unturned.Plugins;
using Rocket.Unturned.Events;
using Rocket.Unturned.Chat;
using Rocket.Unturned;
using Rocket.Core.Plugins;
using Rocket.API.Collections;
using SDG;
using UnityEngine;
using System;
using System.Collections.Generic;
using System.Linq;
namespace EFG.Duty
{
public class Duty : RocketPlugin<DutyConfiguration>
{
public static Duty Instance;
protected override void Load()
{
Duty.Instance = this;
U.Events.OnPlayerConnected += PlayerConnected;
U.Events.OnPlayerDisconnected += PlayerDisconnected;
}
public void duty(UnturnedPlayer caller)
{
if (caller.IsAdmin)
{
caller.Admin(false);
caller.Features.GodMode = false;
caller.Features.VanishMode = false;
if (Configuration.Instance.EnableServerAnnouncer) UnturnedChat.Say(Duty.Instance.Translate("off_duty_message", caller.CharacterName), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
else
{
caller.Admin(true);
if (Configuration.Instance.EnableServerAnnouncer) UnturnedChat.Say(Duty.Instance.Translate("on_duty_message", caller.CharacterName), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
}
public void cduty(UnturnedPlayer cplayer, UnturnedPlayer caller)
{
UnturnedChat.Say("Duty Debug: Checking Duty", UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
if (cplayer.IsAdmin)
{
UnturnedChat.Say("Duty Debug: Cplayer Admin Found", UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
if (Configuration.Instance.AllowDutyCheck) UnturnedChat.Say(Duty.Instance.Translate("check_on_duty_message", cplayer, caller), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
else
{
UnturnedChat.Say("Duty Debug: Cplayer Admin Not Found", UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
if (Configuration.Instance.AllowDutyCheck) UnturnedChat.Say(Duty.Instance.Translate("check_off_duty_message", cplayer, caller), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
}
public override TranslationList DefaultTranslations
{
get
{
return new TranslationList {
{"admin_login_message", "{0} has logged on and is now on duty"},
{"admin_logoff_message", "{0} has logged off is now off duty"},
{"on_duty_message", "{0} is now on duty"},
{"off_duty_message", "{0} is now off duty"},
{"check_on_duty_message", "{0} has confirmed that {1} is on duty"},
{"check_off_duty_message", "{0} has confirmed that {1} is not on duty"},
};
}
}
void PlayerConnected(UnturnedPlayer player)
{
if (player.IsAdmin)
{
if (Configuration.Instance.EnableServerAnnouncer) UnturnedChat.Say(Duty.Instance.Translate("admin_login_message", player.CharacterName), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
}
void PlayerDisconnected(UnturnedPlayer player)
{
if (player.IsAdmin)
{
if (Configuration.Instance.RemoveAdminOnLogout)
{
player.Admin(false);
player.Features.GodMode = false;
player.Features.VanishMode = false;
if (Configuration.Instance.EnableServerAnnouncer) UnturnedChat.Say(Duty.Instance.Translate("admin_logout_message", player.CharacterName), UnturnedChat.GetColorFromName(Duty.Instance.Configuration.Instance.MessageColor, Color.red));
}
}
}
}
}