66
77namespace Oxide . Plugins {
88
9- [ Info ( "True Welcomer" , "ItzNxthaniel" , "1.1.0 " ) ]
9+ [ Info ( "True Welcomer" , "ItzNxthaniel" , "1.1.1 " ) ]
1010 [ Description ( "This plugin makes it easy to welcome new users and welcome back users rejoining! Also supports Disconnect Messages." ) ]
1111 public class TrueWelcomer : RustPlugin {
1212
1313 #region Vars/Fields
1414
15- private static List < string > OnlinePlayers = new List < string > ( ) ;
15+ private static List < string > _onlinePlayers = new List < string > ( ) ;
1616
1717 #endregion
1818
@@ -31,20 +31,19 @@ protected override void SaveConfig() =>
3131
3232 protected override void LoadDefaultConfig ( ) {
3333 _config = new Configuration {
34- debugMode = false ,
35- showJoinMsgs = true ,
36- showWelcomeMessages = true , showLeaveMsgs = true ,
37- clearOnWipe = true ,
38- steamIconID = 0 ,
39- hidePlayersWithAuthlevel = false ,
40- authLevelToHide = 0 ,
41- hidePlayersWithPermission = false
34+ DebugMode = false ,
35+ ShowJoinMsgs = true ,
36+ ShowWelcomeMessages = true , ShowLeaveMsgs = true ,
37+ ClearOnWipe = true ,
38+ SteamIconID = 0 ,
39+ HidePlayersWithAuthlevel = false ,
40+ AuthLevelToHide = 0 ,
41+ HidePlayersWithPermission = false
4242 } ;
4343
4444 SaveConfig ( ) ;
4545 }
4646
47-
4847 private enum AuthLevelEnum {
4948 Both = 0 ,
5049 AuthLevel1 = 1 ,
@@ -53,31 +52,31 @@ private enum AuthLevelEnum {
5352
5453 private class Configuration {
5554 [ JsonProperty ( "Debug Mode" ) ]
56- internal bool debugMode ;
55+ internal bool DebugMode ;
5756
5857 [ JsonProperty ( "Show Join Messages" ) ]
59- internal bool showJoinMsgs ;
58+ internal bool ShowJoinMsgs ;
6059
6160 [ JsonProperty ( "Show Welcome Messages" ) ]
62- internal bool showWelcomeMessages ;
61+ internal bool ShowWelcomeMessages ;
6362
6463 [ JsonProperty ( "Show Leave Messages" ) ]
65- internal bool showLeaveMsgs ;
64+ internal bool ShowLeaveMsgs ;
6665
6766 [ JsonProperty ( "Clears the Data List on wipe" ) ]
68- internal bool clearOnWipe ;
67+ internal bool ClearOnWipe ;
6968
7069 [ JsonProperty ( "Steam User Icon ID" ) ]
71- internal ulong steamIconID ;
70+ internal ulong SteamIconID ;
7271
7372 [ JsonProperty ( "Hide Players with AuthLevel" ) ]
74- internal bool hidePlayersWithAuthlevel ;
73+ internal bool HidePlayersWithAuthlevel ;
7574
7675 [ JsonProperty ( "AuthLevel to Hide. 0 - Both, 1 - AuthLevel1, 2 - AuthLevel2 " ) ]
77- internal AuthLevelEnum authLevelToHide ;
76+ internal AuthLevelEnum AuthLevelToHide ;
7877
7978 [ JsonProperty ( "Hide Players With Permission" ) ]
80- internal bool hidePlayersWithPermission ;
79+ internal bool HidePlayersWithPermission ;
8180 }
8281
8382 #endregion
@@ -101,17 +100,17 @@ private void Broadcast(BasePlayer player, string messageKey, params object[] arg
101100 if ( player == null ) return ;
102101
103102 var message = GetMessage ( messageKey , player . UserIDString , args ) ;
104- if ( _config . debugMode ) Puts ( message ) ;
105- Server . Broadcast ( message , null , _config . steamIconID ) ;
103+ if ( _config . DebugMode ) Puts ( message ) ;
104+ Server . Broadcast ( message , null , _config . SteamIconID ) ;
106105 }
107106
108- private string GetMessage ( string key , string id = null , params object [ ] args ) =>
107+ private string GetMessage ( string key , string id , params object [ ] args ) =>
109108 string . Format ( lang . GetMessage ( key , this , id ) , args ) ;
110109
111110 #endregion
112111
113112 #region Data
114- private DynamicConfigFile cachedPlayers = Interface . Oxide . DataFileSystem . GetDatafile ( "TrueWelcomer" ) ;
113+ private DynamicConfigFile _cachedPlayers = Interface . Oxide . DataFileSystem . GetDatafile ( "TrueWelcomer" ) ;
115114 #endregion
116115
117116 #region Hooks
@@ -122,23 +121,23 @@ private void Init() {
122121 permission . RegisterPermission ( "truewelcomer.hideUser" , this ) ;
123122
124123 foreach ( BasePlayer player in BasePlayer . activePlayerList ) {
125- OnlinePlayers . Add ( player . UserIDString ) ;
124+ _onlinePlayers . Add ( player . UserIDString ) ;
126125 }
127126 }
128127
129128 private void OnNewSave ( ) {
130- if ( ! _config . clearOnWipe ) return ;
129+ if ( ! _config . ClearOnWipe ) return ;
131130
132- cachedPlayers . Clear ( ) ;
133- cachedPlayers . Save ( ) ;
131+ _cachedPlayers . Clear ( ) ;
132+ _cachedPlayers . Save ( ) ;
134133 }
135134
136135 private bool ShouldAnnounce ( BasePlayer player ) {
137- if ( _config . hidePlayersWithPermission && permission . UserHasPermission ( player . UserIDString , "truewelcomer.hideUser" ) ) return false ;
138- if ( ! _config . hidePlayersWithAuthlevel ) return true ;
136+ if ( _config . HidePlayersWithPermission && permission . UserHasPermission ( player . UserIDString , "truewelcomer.hideUser" ) ) return false ;
137+ if ( ! _config . HidePlayersWithAuthlevel ) return true ;
139138 ServerUsers . User user = ServerUsers . Get ( player . userID ) ;
140139
141- switch ( _config . authLevelToHide ) {
140+ switch ( _config . AuthLevelToHide ) {
142141 case AuthLevelEnum . Both when user . group is ServerUsers . UserGroup . Moderator or ServerUsers . UserGroup . Owner :
143142 case AuthLevelEnum . AuthLevel1 when user . group is ServerUsers . UserGroup . Moderator :
144143 case AuthLevelEnum . AuthLevel2 when user . group is ServerUsers . UserGroup . Owner : return false ;
@@ -147,8 +146,10 @@ private bool ShouldAnnounce(BasePlayer player) {
147146 }
148147
149148 private void OnPlayerDisconnected ( BasePlayer player ) {
149+ if ( player == null ) return ;
150+
150151 string uid = player . UserIDString ;
151- OnlinePlayers . Remove ( uid ) ;
152+ _onlinePlayers . Remove ( uid ) ;
152153
153154 switch ( ShouldAnnounce ( player ) ) {
154155 case true :
@@ -159,20 +160,22 @@ private void OnPlayerDisconnected(BasePlayer player) {
159160 }
160161
161162 private void OnPlayerSleepEnded ( BasePlayer player ) {
163+ if ( player == null ) return ;
164+
162165 bool isOnline = false ;
163166 foreach ( BasePlayer p in BasePlayer . activePlayerList ) {
164167 if ( p . UserIDString == player . UserIDString ) isOnline = true ;
165168 }
166169
167170 string keyToUse = "OnJoin" ;
168171
169- if ( ! OnlinePlayers . Contains ( player . UserIDString ) && isOnline ) {
170- OnlinePlayers . Add ( player . UserIDString ) ;
171- if ( cachedPlayers [ player . UserIDString ] != null ) keyToUse = "OnJoin" ;
172+ if ( ! _onlinePlayers . Contains ( player . UserIDString ) && isOnline ) {
173+ _onlinePlayers . Add ( player . UserIDString ) ;
174+ if ( _cachedPlayers [ player . UserIDString ] != null ) keyToUse = "OnJoin" ;
172175 else {
173176 keyToUse = "OnWelcome" ;
174- cachedPlayers [ player . UserIDString ] = player . displayName ;
175- cachedPlayers . Save ( ) ;
177+ _cachedPlayers [ player . UserIDString ] = player . displayName ;
178+ _cachedPlayers . Save ( ) ;
176179 }
177180 }
178181
@@ -184,7 +187,12 @@ private void OnPlayerSleepEnded(BasePlayer player) {
184187 }
185188 }
186189
187- [ Command ( "hidewelcome" ) ] private void HideWelcomeCommand ( BasePlayer player ) {
190+ #endregion
191+
192+ #region Commands
193+
194+ [ Command ( "hidewelcome" ) ]
195+ private void HideWelcomeCommand ( BasePlayer player ) {
188196 if ( ! permission . UserHasPermission ( player . UserIDString , "truewelcomer.canSetPreference" ) ) {
189197 player . ChatMessage ( GetMessage ( "NoPermission" , player . UserIDString ) ) ;
190198 return ;
@@ -201,7 +209,7 @@ private void OnPlayerSleepEnded(BasePlayer player) {
201209 }
202210
203211
204- finalMsg += _config . hidePlayersWithPermission ? "" : $ "\n { GetMessage ( "ServerConfigAlert" , player . UserIDString ) } ";
212+ finalMsg += _config . HidePlayersWithPermission ? "" : $ "\n { GetMessage ( "ServerConfigAlert" , player . UserIDString ) } ";
205213 player . ChatMessage ( finalMsg ) ;
206214 }
207215
@@ -216,20 +224,20 @@ private void RefreshDataCommand(ConsoleSystem.Arg arg) {
216224 string msg = "" ;
217225 int num = 0 ;
218226 foreach ( BasePlayer player in BasePlayer . activePlayerList ) {
219- if ( cachedPlayers [ player . UserIDString ] != null ) num += 0 ;
227+ if ( _cachedPlayers [ player . UserIDString ] != null ) num += 0 ;
220228 else {
221- cachedPlayers [ player . UserIDString ] = player . displayName ;
222- cachedPlayers . Save ( ) ;
229+ _cachedPlayers [ player . UserIDString ] = player . displayName ;
230+ _cachedPlayers . Save ( ) ;
223231 num += 1 ;
224232 msg += $ "Player { player . displayName } has been added.\n ";
225233 }
226234 }
227235
228236 foreach ( BasePlayer player in BasePlayer . sleepingPlayerList ) {
229- if ( cachedPlayers [ player . UserIDString ] != null ) num += 0 ;
237+ if ( _cachedPlayers [ player . UserIDString ] != null ) num += 0 ;
230238 else {
231- cachedPlayers [ player . UserIDString ] = player . displayName ;
232- cachedPlayers . Save ( ) ;
239+ _cachedPlayers [ player . UserIDString ] = player . displayName ;
240+ _cachedPlayers . Save ( ) ;
233241 num += 1 ;
234242 msg += $ "Player { player . displayName } has been added.\n ";
235243 }
@@ -250,8 +258,8 @@ private void ResetDataCommand(ConsoleSystem.Arg arg) {
250258 return ;
251259 }
252260
253- cachedPlayers . Clear ( ) ;
254- cachedPlayers . Save ( ) ;
261+ _cachedPlayers . Clear ( ) ;
262+ _cachedPlayers . Save ( ) ;
255263 arg . ReplyWith ( "The Data File for True Welcomer has been reset!" ) ;
256264 }
257265
0 commit comments