internal void OnPlayerPreauth(PreAuthenticatingEventArgs ev) { if (PreauthTime.ContainsKey(ev.UserId)) { PreauthTime.Remove(ev.UserId); } PreauthTime.Add(ev.UserId, DateTime.Now); }
internal void OnPlayerVerify(VerifiedEventArgs ev) { if (PreauthTime.ContainsKey(ev.Player.UserId)) { PreauthTime.Remove(ev.Player.UserId); } PreauthTime.Add(ev.Player.UserId, DateTime.Now); if (!Database.LiteDatabase.GetCollection <Player>().Exists(player => player.Id == DatabasePlayer.GetRawUserId(ev.Player))) { pluginInstance.DatabasePlayerData.AddPlayer(ev.Player); } Player databasePlayer = ev.Player.GetDatabasePlayer(); if (Database.PlayerData.ContainsKey(ev.Player)) { return; } Database.PlayerData.Add(ev.Player, databasePlayer); databasePlayer.LastSeen = PreauthTime[ev.Player.UserId]; PreauthTime.Remove(ev.Player.UserId); databasePlayer.Name = ev.Player.Nickname; if (databasePlayer.FirstJoin == DateTime.MinValue) { databasePlayer.FirstJoin = DateTime.Now; } if (pluginInstance.Config.WelcomeMessage.Show) { var message = pluginInstance.Config.WelcomeMessage.Content; message = message.Replace("%player%", ev.Player.Nickname); ev.Player.Broadcast(pluginInstance.Config.WelcomeMessage.Duration, message, pluginInstance.Config.WelcomeMessage.Type); } if (pluginInstance.Functions.CheckAsnPlayer(ev.Player)) { ev.Player.Kick($"Auto-Kick: {pluginInstance.Config.AsnKickMessage}", "SCPUtils"); } else { pluginInstance.Functions.PostLoadPlayer(ev.Player); } }