Ejemplo n.º 1
0
        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;
        }
Ejemplo n.º 2
0
        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;
                }
            });
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
        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));
            }
        }
Ejemplo n.º 6
0
 public void OnJoin(VerifiedEventArgs ev)
 {
     if (ev.Player != null)
     {
         addPlayer(ev.Player);
     }
 }
Ejemplo n.º 7
0
        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);
            }
        }
Ejemplo n.º 8
0
        /// <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);
        }
Ejemplo n.º 9
0
        /// <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);
        }
Ejemplo n.º 10
0
 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);
         }
     });
 }
Ejemplo n.º 11
0
        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;
                        }
                    });
                });
            }
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        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);
            }
        }
Ejemplo n.º 14
0
        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]");
                }
            });
        }
Ejemplo n.º 15
0
        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>");
                    }
                }
            });
        }
Ejemplo n.º 16
0
        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);
            }
        }
Ejemplo n.º 17
0
        // 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());
        }
Ejemplo n.º 18
0
 /// <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);
Ejemplo n.º 19
0
 private void Player_Verified(VerifiedEventArgs ev)
 {
     ev.Player.GameObject.AddComponent <BurningComponent>();
 }
Ejemplo n.º 20
0
 /// <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));
 }
Ejemplo n.º 21
0
 private static void OnVerified(VerifiedEventArgs ev)
 {
     BurningHandler.Dictionary.Add(ev.Player, new BurningHandler(ev.Player));
 }
Ejemplo n.º 22
0
 private void Player_Verified(VerifiedEventArgs ev)
 {
     Client.Players.Add(ev.Player.UserId, ev.Player.GameObject.AddComponent <NetworkedPlayer>());
 }
Ejemplo n.º 23
0
        // 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";
        }
Ejemplo n.º 24
0
 public static void OnVerified(VerifiedEventArgs ev)
 {
     ev.Player.GameObject.AddComponent <RainbowTagController>();
 }