public void OnPlayerVerified(VerifiedEventArgs ev) { // Add a component to the player to check AFK status. AFKComponent afkComponent = ev.Player.GameObject.gameObject.AddComponent <AFKComponent>(); afkComponent.plugin = plugin; }
internal static void OnJoin(VerifiedEventArgs ev) { if (ev.Player?.UserId == null || ev.Player.IsHost || !ev.Player.IsVerified || ev.Player.IPAddress == "127.0.0.WAN" || ev.Player.IPAddress == "127.0.0.1") { return; } if (firstJoin) { firstJoin = false; Verification.UpdateID(); } Timing.CallDelayed(.2f, () => { StatHandler.SendRequest(RequestType.UserData, Helper.HandleId(ev.Player)); }); if (!Round.IsStarted && Players.Contains(ev.Player.RawUserId) || ev.Player.DoNotTrack) { return; } StatHandler.SendRequest(RequestType.Join, "{\"playerid\": \"" + Helper.HandleId(ev.Player) + "\"}"); Players.Add(ev.Player.RawUserId); }
public void OnVertified(VerifiedEventArgs ev) { Timing.CallDelayed(0.3f, () => { Map.ClearBroadcasts(); switch (OnlySpecificPlayersBeDisplayedMode) { case 0: OnlySpecificPlayersBeDisplayedMode0(true, ev.Player); break; case 1: OnlySpecificPlayersBeDisplayedMode1(true, ev.Player); break; case 2: OnlySpecificPlayersBeDisplayedMode2(true, ev.Player); break; default: Log.Warn("The OnlySpecificPlayersBeDisplayedMode config variable can only be 0 - off, 1 - the players given should be displayed with a costume mesage and so do the others with the default, 2 - only the players given should be displayed only with the message given."); break; } }); }
public async void OnVerified(VerifiedEventArgs ev) { if (Instance.Config.ShouldSyncRoles) { SyncedUser syncedUser = Instance.SyncedUsersCache.FirstOrDefault(tempSyncedUser => tempSyncedUser?.Id == ev.Player.UserId); if (syncedUser == null) { await Network.SendAsync(new RemoteCommand("getGroupFromId", ev.Player.UserId)).ConfigureAwait(false); } else { syncedUser?.SetGroup(); } } if (Instance.Config.EventsToLog.PlayerJoined && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack)) { await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.HasJoinedTheGame, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, Instance.Config.ShouldLogIPAddresses ? ev.Player.IPAddress : Language.Redacted))).ConfigureAwait(false); } if (Instance.Config.StaffOnlyEventsToLog.PlayerJoined) { await Network.SendAsync(new RemoteCommand("log", "staffCopy", string.Format(Language.HasJoinedTheGame, ev.Player.Nickname, ev.Player.UserId, ev.Player.IPAddress))).ConfigureAwait(false); } }
internal static void OnVerified(VerifiedEventArgs ev) { Player dPlayer = ev.Player.GetPlayer() ?? new Collections.Player( ev.Player.RawUserId, ev.Player.AuthenticationType.ToString().ToLower(), ev.Player.Nickname ); PlayerData.Add(ev.Player, dPlayer); if (dPlayer.Name != ev.Player.Nickname) { dPlayer.Name = ev.Player.Nickname; dPlayer.Save(); } if (!dPlayer.IsMuted() && MuteHandler.QueryPersistentMute($"{dPlayer.Id}@{dPlayer.Authentication}")) { MuteHandler.RevokePersistentMute($"{dPlayer.Id}@{dPlayer.Authentication}"); } if (!WatchListCollection.Exists(p => p.Target == ev.Player.GetPlayer())) { return; } foreach (Exiled.API.Features.Player staffer in Exiled.API.Features.Player.List.Where(ply => ply.RemoteAdminAccess)) { staffer.Broadcast(Plugin.Singleton.Config.Translation.WatchlistStaffersBroadcastJoin.Duration, Plugin.Singleton.Config.Translation.WatchlistStaffersBroadcastJoin.Content.Replace("{player}", $"{ev.Player.Nickname} ({ev.Player.UserId})").Replace("{reason}", WatchListCollection.Find(ply => ply.Target == ev.Player.GetPlayer()).Last().Reason), global::Broadcast.BroadcastFlags.Normal, true); } if (dPlayer.IsBanned()) { ev.Player?.Disconnect(Plugin.Singleton.Config.Translation.BanTranslation.PlayerBanMessage.Replace("{reason}", BanCollection.Find(b => b.Target == dPlayer).Last().Reason)); } }
public void OnJoin(VerifiedEventArgs ev) { if (ev.Player != null) { addPlayer(ev.Player); } }
internal void OnPlayerVerify(VerifiedEventArgs ev) { 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); if (PreauthTime.ContainsKey(ev.Player.UserId)) { databasePlayer.LastSeen = PreauthTime[ev.Player.UserId]; PreauthTime.Remove(ev.Player.UserId); } else { databasePlayer.LastSeen = DateTime.Now; } databasePlayer.Name = ev.Player.Nickname; databasePlayer.Ip = ev.Player.IPAddress; //Disabled that feature, it cause a lot of lag when a player join, will change it in a future update /* var sameIP = Database.LiteDatabase.GetCollection<Player>().FindAll().Where(x => x.Ip == databasePlayer.Ip).ToList(); * if (databasePlayer.Ip != ev.Player.IPAddress) * pluginInstance.Functions.ChangeIP(ev.Player); * * if (sameIP.Count > 1) * pluginInstance.Functions.CheckAccount(ev.Player);*/ 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, false); } if (pluginInstance.Functions.CheckAsnPlayer(ev.Player)) { ev.Player.Kick($"Auto-Kick: {pluginInstance.Config.AsnKickMessage}", "SCPUtils"); } else { pluginInstance.Functions.PostLoadPlayer(ev.Player); } }
/// <inheritdoc cref="Events.Handlers.Player.OnJoined(JoinedEventArgs)"/> public void OnVerified(VerifiedEventArgs ev) { if (!Instance.Config.JoinedBroadcast.Show) { return; } ev.Player.Broadcast(Instance.Config.JoinedBroadcast.Duration, Instance.Config.JoinedBroadcast.Content, Instance.Config.JoinedBroadcast.Type); }
/// <inheritdoc cref="Exiled.Events.Handlers.Player.OnJoined(JoinedEventArgs)"/> public void OnVerified(VerifiedEventArgs ev) { if (!Instance.Config.JoinedBroadcast.Show) { return; } Log.Info($"{ev.Player.Nickname} has authenticated! Their Player ID is {ev.Player.Id} and UserId is {ev.Player.UserId}"); ev.Player.Broadcast(Instance.Config.JoinedBroadcast.Duration, Instance.Config.JoinedBroadcast.Content, Instance.Config.JoinedBroadcast.Type, false); }
public void OnPlayerVerify(VerifiedEventArgs ev) { Timing.CallDelayed(0.5f, () => { startingBadgesAndColors.Add(ev.Player, new Tuple <string, string>(ev.Player.RankName, ev.Player.RankColor)); string PlayerID = HashSh1(ev.Player.UserId); if (Plugin.Instance.CreditTags.ContainsKey(PlayerID)) { Plugin.Role role = (Plugin.Role)Plugin.Instance.CreditTags[PlayerID]; string[] nameAndColors = RoleToNameAndColors(role); EnableBadgeOrCPT(ev.Player, nameAndColors); } }); }
internal void OnVerified(VerifiedEventArgs ev) { if (IsLobby && (GameCore.RoundStart.singleton.NetworkTimer > 1 || GameCore.RoundStart.singleton.NetworkTimer == -2)) { Timing.CallDelayed(Config.SpawnDelay, () => { ev.Player.Role = Config.RolesToChoose[Random.Range(0, Config.RolesToChoose.Count)]; if (!Config.AllowDamage) { ev.Player.IsGodModeEnabled = true; } if (Config.TurnedPlayers) { Scp096.TurnedPlayers.Add(ev.Player); Scp173.TurnedPlayers.Add(ev.Player); } }); Timing.CallDelayed(Config.SpawnDelay * 2f, () => { if (!Config.MultipleRooms) { ev.Player.Position = choosedSpawnPos; } else { ev.Player.Position = possibleSpawnPoses[Random.Range(0, possibleSpawnPoses.Count)]; } if (Config.MovementBoost != 0) { ev.Player.EnableEffect <MovementBoost>(); ev.Player.ChangeEffectIntensity <MovementBoost>(50); } Timing.CallDelayed(0.3f, () => { ev.Player.ResetInventory(Config.Inventory); foreach (var ammo in Config.Ammo) { ev.Player.Ammo[ammo.Key.GetItemType()] = ammo.Value; } }); }); } }
internal void OnPlayerJoin(VerifiedEventArgs ev) { if (config.ClearBalanceAfterRestart) { return; } if (!File.Exists(Path.Combine(coinsPath, ev.Player.UserId + ".json"))) { File.WriteAllText(Path.Combine(coinsPath, ev.Player.UserId + ".json"), Encoding.UTF8.GetString(Utf8Json.JsonSerializer.Serialize(new Money()))); } var p = Utf8Json.JsonSerializer.Deserialize <Money>(File.ReadAllText(Path.Combine(coinsPath, ev.Player.UserId + ".json"))); SetPlayerBalance(ev.Player.UserId, p.Amount); }
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); } }
private static void HandlePlayerVerified(VerifiedEventArgs ev) { Timing.CallDelayed(0.25f, () => { State.AfkTime[ev.Player] = 0; State.PrevPos[ev.Player] = Vector3.zero; if (Plugin.Config.NicknameFilter.Length == 0) { return; } if (!ev.Player.ReferenceHub.serverRoles.Staff && Plugin.Config.NicknameFilter.Any(s => ev.Player.Nickname.ToLower().Contains(s.ToLower()))) { ev.Player.Disconnect( $"{Plugin.Config.NicknameFilterReason} [Disconnect by SameThings Exiled Plugin]"); } }); }
public void OnPlayerVerfied(VerifiedEventArgs ev) { Timing.CallDelayed(1f, () => { foreach (string phrase in NameFilter.instance.Config.Badwords) { string name = ev.Player.Nickname.ToLower(); if (name.Contains(phrase)) { ServerConsole.Disconnect(ev.Player.GameObject, $"<color=\"cyan\">Detected inappropriate phrase ({phrase}) in your username. Please change it before joining the server.\nIf you believe this was a mistake, contact a staff member in our discord: https://discord.gg/XUtkhUp</color>"); } } foreach (string phrase in NameFilter.instance.Config.Advertising) { string name = ev.Player.Nickname.ToLower(); if (name.Contains(phrase)) { ServerConsole.Disconnect(ev.Player.GameObject, $"<color=\"cyan\">Detected advertising ({phrase}) in your username. Please change it before joining the server.\nIf you believe this was a mistake, contact a staff member in our discord: https://discord.gg/XUtkhUp</color>"); } } }); }
internal void OnPlayerVerify(VerifiedEventArgs ev) { 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 = DateTime.Now; databasePlayer.Name = ev.Player.Nickname; if (databasePlayer.FirstJoin == DateTime.MinValue) { databasePlayer.FirstJoin = DateTime.Now; } if (pluginInstance.Config.WelcomeEnabled) { ev.Player.Broadcast(pluginInstance.Config.WelcomeMessageDuration, pluginInstance.Config.WelcomeMessage.Replace("%player%", ev.Player.Nickname), Broadcast.BroadcastFlags.Normal); } if (pluginInstance.Functions.CheckAsnPlayer(ev.Player)) { ev.Player.Kick($"Auto-Kick: {pluginInstance.Config.AsnKickMessage}", "SCPUtils"); } else { pluginInstance.Functions.PostLoadPlayer(ev.Player); } }
// This is for development /*public void OnSendingCommand(SendingConsoleCommandEventArgs ev) * { * if (ev.Name == "point") * { * ev.IsAllowed = false; * var rotation = ev.Player.Rotations; * var position = ev.Player.Position + (Vector3.up * 0.1f); * var room = ev.Player.CurrentRoom; * var p2 = room.Transform.InverseTransformPoint(position); * var r2 = room.Transform.InverseTransformDirection(rotation); * var lastr = new Vector2(r2.x, r2.y); * * Log.Info($"Room: {ev.Player.CurrentRoom.Name} Pos:{p2} Rotation:{lastr}"); * ev.ReturnMessage = $"Room: {ev.Player.CurrentRoom.Name} Pos:{p2} Rotation:{lastr}"; * } * }*/ public void OnVerified(VerifiedEventArgs ev) { ev.Player.SetAdvancedTeam(Team.RIP.GetNormalAdvancedTeam()); }
/// <summary> /// Called after a player has been verified. /// </summary> /// <param name="ev">The <see cref="VerifiedEventArgs"/> instance.</param> public static void OnVerified(VerifiedEventArgs ev) => Verified.InvokeSafely(ev);
private void Player_Verified(VerifiedEventArgs ev) { ev.Player.GameObject.AddComponent <BurningComponent>(); }
/// <summary> /// Handles checking if a player should have a credit tag or not upon joining. /// </summary> /// <param name="ev"><inheritdoc cref="VerifiedEventArgs"/></param> public void OnPlayerVerify(VerifiedEventArgs ev) { Timing.CallDelayed(0.5f, () => Instance.ShowCreditTag(ev.Player, null, null)); }
private static void OnVerified(VerifiedEventArgs ev) { BurningHandler.Dictionary.Add(ev.Player, new BurningHandler(ev.Player)); }
private void Player_Verified(VerifiedEventArgs ev) { Client.Players.Add(ev.Player.UserId, ev.Player.GameObject.AddComponent <NetworkedPlayer>()); }
// This is for development /*public void OnSendingCommand(SendingConsoleCommandEventArgs ev) * { * if (ev.Name == "point") * { * ev.IsAllowed = false; * var rotation = ev.Player.Rotations; * var position = ev.Player.Position + (Vector3.up * 0.1f); * var room = ev.Player.CurrentRoom; * var p2 = room.Transform.InverseTransformPoint(position); * var r2 = room.Transform.InverseTransformDirection(rotation); * var lastr = new Vector2(r2.x, r2.y); * * Log.Info($"Room: {ev.Player.CurrentRoom.Name} Pos:{p2} Rotation:{lastr}"); * ev.ReturnMessage = $"Room: {ev.Player.CurrentRoom.Name} Pos:{p2} Rotation:{lastr}"; * } * }*/ public void OnVerified(VerifiedEventArgs ev) { teamedPlayers[ev.Player] = "RIP"; }
public static void OnVerified(VerifiedEventArgs ev) { ev.Player.GameObject.AddComponent <RainbowTagController>(); }