Beispiel #1
0
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            if (plugin.Active)
            {
                if (roundStarted)
                {
                    switch (ev.Door.Name)
                    {
                    case "HCZ_ARMORY":
                    case "049_ARMORY":
                    case "ENTRANCE_CHECKPOINT":
                        if (ev.Player.TeamRole.Role == Role.SCIENTIST && generatorPowerups >= 5)                                 //if escape is known to be ready, and if not check if it is
                        {
                            EscapeScientist(ev.Player);
                        }

                        ev.Destroy = false;
                        break;
                    }
                }
                else
                {
                    ev.Door.Open = false;
                }
            }
        }
Beispiel #2
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     door       = plugin.GetConfigBool("scp682_door");
     dooreat    = plugin.GetConfigBool("scp682_door_eat");
     doorrandom = plugin.GetConfigInt("scp682_door_chance");
     if (door == true && scp682.Contains(ev.Player.SteamId))
     {
         if (dooreat == true)
         {
             if (0 < e)
             {
                 ev.Destroy = true;
                 e--;
             }
         }
         else
         {
             int d = new Random().Next(0, 100);
             if (d <= doorrandom)
             {
                 ev.Destroy = true;
             }
         }
     }
 }
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (waitingForPlayers)
     {
         ev.Allow = false;
     }
 }
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (ev.Door.Open == false && autoshuttime != 0 && System.Array.IndexOf(doorlist, ev.Door.Name) != -1)
     {
         Timing.RunCoroutine(doorAutoShut(ev.Door), Segment.FixedUpdate);
     }
 }
Beispiel #5
0
 /// <summary>
 /// Checks if 343 should open the door.
 /// </summary>
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (Is343(ev.Player) && PluginManager.Manager.Server.Round.Duration >= _343Config.SCP343_opendoortime)
     {
         ev.Allow = true;
     }
 }
Beispiel #6
0
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            Player player = ev.Player;

            if (Status.gamemodeRoundActive)
            {
                if (ev.Door.Name == "CHECKPOINT_ENT")
                {
                    if (player.GetCurrentItem().ItemType == ItemType.O5_LEVEL_KEYCARD)
                    {
                        ev.Allow = true; return;
                    }
                    else if (player.TeamRole.Team == SMTeam.SCP && Status.lockdownActive)
                    {
                        ev.Allow = false; return;
                    }
                    else if (player.TeamRole.Team == SMTeam.SCP && Status.lockdownActive == false)
                    {
                        ev.Allow = true; return;
                    }
                    else if (player.GetBypassMode())
                    {
                        ev.Allow = true; return;
                    }
                    else
                    {
                        ev.Allow = false;
                    }
                }
            }
        }
Beispiel #7
0
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            /// <summary>
            /// Called when a player attempts to access a door that requires perms
            /// <summary>
            Dictionary <string, string> variables = new Dictionary <string, string>
            {
                { "doorname", ev.Door.Name },
                { "permission", ev.Door.Permission },
                { "locked", ev.Door.Locked.ToString() },
                { "lockcooldown", ev.Door.LockCooldown.ToString() },
                { "open", ev.Door.Open.ToString() },
                { "ipaddress", ev.Player.IpAddress },
                { "name", ev.Player.Name },
                { "playerid", ev.Player.PlayerId.ToString() },
                { "steamid", ev.Player.SteamId },
                { "class", ev.Player.TeamRole.Role.ToString() },
                { "team", ev.Player.TeamRole.Team.ToString() }
            };

            if (ev.Allow)
            {
                plugin.SendMessage(Config.GetArray("channels.ondooraccess.allowed"), "player.ondooraccess.allowed", variables);
            }
            else
            {
                plugin.SendMessage(Config.GetArray("channels.ondooraccess.denied"), "player.ondooraccess.denied", variables);
            }
        }
Beispiel #8
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (blockDoors && ev.Player.IsHandcuffed())
     {
         ev.Allow = false;
     }
 }
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     //There is a 0.5% probability for a door to get destroyed upon interaction
     if (random.NextDouble() > 0.95f)
     {
         ev.Destroy = true;
     }
 }
Beispiel #10
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {//le permite abrir puertas del checkpoint en su estado de camuflaje
     if (Habilidad.ContainsKey(ev.Player.SteamId))
     {
         if (ev.Door.Permission.Contains("CHCKPOINT_ACC"))
         {
             ev.Allow = true; ev.Door.Open = true;
         }
     }
 }
Beispiel #11
0
        void IEventHandlerDoorAccess.OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            send(ev,
                 new IdMapping()
                 .appendId(Lib.EVENT_DOOR_ID, ev.Door)
                 .appendId(Lib.PLAYER_ID, ev.Player)
                 .appendId(Lib.PLAYER_EVENT_SCPDATA_ID, ev.Player.Scp079Data)
                 .appendId(Lib.PLAYER_EVENT_TEAM_ROLE_ID, ev.Player.TeamRole)

                 );
        }
Beispiel #12
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (Cambiaform.ContainsKey(ev.Player.PlayerId))
     {
         ev.Allow = true;
         if (ev.Player.GetCurrentItemIndex() == 17)
         {
             ev.Destroy = true;
         }
     }
 }
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            Player player = ev.Player;

            foreach (KeyValuePair <string, string> x in access)
            {
                if (ev.Door.Name.Equals(x.Key))
                {
                    string   trimmedValue = x.Value.Trim();
                    string[] itemIDs      = trimmedValue.Split('&');

                    foreach (string eachValue in itemIDs)
                    {
                        int currentItem = player.GetCurrentItemIndex();
                        if (Int32.TryParse(eachValue, out int itemID))
                        {
                            if (player.GetCurrentItemIndex().Equals(itemID) && !player.GetCurrentItemIndex().Equals(-1))
                            {
                                ev.Allow = true;
                            }
                            else if (revokeAll && !itemIDs.Contains(currentItem.ToString()))
                            {
                                ev.Allow = false;
                                if (ScpAccess)
                                {
                                    foreach (string scpAccessDoor in scpAccessDoors)
                                    {
                                        if (ev.Door.Name.Equals(scpAccessDoor))
                                        {
                                            if (player.TeamRole.Team.Equals(Team.SCP))
                                            {
                                                ev.Allow = true;
                                            }
                                        }
                                    }
                                }
                                else if (player.GetBypassMode())
                                {
                                    ev.Allow = true;
                                }
                            }
                        }
                        else
                        {
                            plugin.Error(x.Value + " is not a int.");
                        }
                    }
                }
            }
        }
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     /// <summary>
     /// Called when a player attempts to access a door that requires perms
     /// <summary>
     if (ev.Allow)
     {
         plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_ondooraccess"), ev.Player.Name + " (" + ev.Player.SteamId + plugin.MultiLanguage(35));
     }
     else
     {
         plugin.SendMessageAsync(plugin.GetConfigString("discord_channel_ondooraccess"), ev.Player.Name + " (" + ev.Player.SteamId + plugin.MultiLanguage(36));
     }
 }
Beispiel #15
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (scp035.Contains(ev.Player.SteamId))
     {
         door = plugin.GetConfigList("scp035_door");
         foreach (string name in door)
         {
             if (ev.Door.Name == name)
             {
                 ev.Allow = false;
             }
         }
     }
 }
Beispiel #16
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     AdminToolbox.AddSpesificPlayer(ev.Player);
     if (AdminToolbox.playerdict.ContainsKey(ev.Player.SteamId))
     {
         if (AdminToolbox.playerdict[ev.Player.SteamId][3])
         {
             ev.Destroy = true;
         }
         if (AdminToolbox.playerdict[ev.Player.SteamId][5])
         {
             ev.Allow = false;
         }
     }
 }
Beispiel #17
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     AdminToolbox.AddMissingPlayerVariables(new List <Player> {
         ev.Player
     });
     if (AdminToolbox.playerdict.ContainsKey(ev.Player.SteamId))
     {
         if (AdminToolbox.playerdict[ev.Player.SteamId].destroyDoor)
         {
             ev.Destroy = true;
         }
         if (AdminToolbox.playerdict[ev.Player.SteamId].lockDown)
         {
             ev.Allow = false;
         }
     }
 }
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            if (!countdownCoroutine.IsRunning)
            {
                return;
            }

            if ((ev.Door.GetComponent() as Door).doorType == 3)
            {
                ev.Allow = false;

                var minutes = Mathf.FloorToInt(escapeTimer / 60);
                var seconds = escapeTimer - (minutes * 60);

                ev.Player.Broadcast(3, $"Power is down for {minutes}:{seconds}");
            }
        }
Beispiel #19
0
 public void OnDoorAccess(PlayerDoorAccessEvent ev)
 {
     if (CurrentlyRunning == false || string.IsNullOrWhiteSpace(ev.Door.Permission))
     {
         return;
     }
     else
     {
         if (ev.Player.TeamRole.Team == Smod2.API.TeamType.SCP)
         {
             ev.Allow = true;
         }
         else
         {
             ev.Allow = false;
         }
     }
 }
Beispiel #20
0
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            System.Random puertas = new System.Random();
            int           p       = (int)System.Environment.OSVersion.Platform;
            int           evento  = puertas.Next(0, 100);

            if (Cooldown[ev.Player.SteamId])
            {
                Cooldown[ev.Player.SteamId] = false;
                if ((evento == 1) || (evento == 0))
                {
                    ev.Destroy = true;
                    ev.Player.PersonalBroadcast(5, "estoy mamadisimo", true);
                }
                if (evento == 2)
                {
                    ev.Player.PersonalBroadcast(5, "<color=#AC0BD4> No ocurre nada jaja salu2 </color>", false);
                }
                if (evento == 3)
                {
                    ev.Allow = false;
                    ev.Player.PersonalBroadcast(3, "<color=#C50000> No puedes abrirme jajajajaj </color>", false);
                }
                if (evento == 4)
                {
                    ev.Player.AddHealth(-10);
                    if (ev.Player.TeamRole.Team == Smod2.API.Team.SCP)
                    {
                        ev.Player.AddHealth(-200);
                    }
                    ev.Player.PersonalBroadcast(3, "<color=#C50000> Toma, por abrirme tonto </color>", false);
                }
                if (evento == 5)
                {
                    ev.Player.ChangeRole(Smod2.API.Role.FACILITY_GUARD);
                    ev.Player.PersonalBroadcast(5, "<color=#17CE28> Estas de coña, no? GUARDIA EN SERIO?!!! </color>", false);
                }
                if (evento == 6)
                {
                    ev.Player.GiveItem(Smod2.API.ItemType.FRAG_GRENADE);
                    ev.Player.PersonalBroadcast(5, "<color=#17CE28> Granada gratis </color>", false);
                }
                if (evento == 7)
                {
                    ev.Player.PersonalBroadcast(5, "<color=#17CE28>V</color><color=#C50000>I</color><color=#FF5000>D</color><color=#D68312>A </color><color=#0013FF>E</color><color=#00FFC9>X</color><color=#17CE28>T</color><color=#81A700>R</color><color=#763B00>A</color>         ", false);
                    if (!Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra.Add(ev.Player.SteamId, 1);
                    }
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra[ev.Player.SteamId] += 1;
                    }
                }
                if (evento == 8)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_5, 999);
                    ev.Player.PersonalBroadcast(5, "<color=#17CE28> 999 de munición tipo 5 </color>", false);
                }
                if (evento == 9)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_5, 0);
                    ev.Player.PersonalBroadcast(5, "<color=#C50000> 0 de munición tipo 5 ;d </color>", false);
                }
                if (evento == 10)
                {
                    ev.Door.Locked       = true;
                    ev.Door.LockCooldown = 100;
                    ev.Player.PersonalBroadcast(5, "<color=#C50000> puerta bloqueda 100 segundos ;d </color>", false);
                }
                if (evento == 11)
                {
                    ev.Door.Locked       = false;
                    ev.Door.LockCooldown = 1;
                    ev.Player.PersonalBroadcast(5, "<color=#FF0500> puerta desbloqueda </color>", false);
                }
                if (evento == 12)
                {
                    ev.Player.ChangeRole(Role.SCP_049, false, false, false);
                    ev.Player.PersonalBroadcast(5, "<color=#FF0500> Tengo un master en medicina, Lo juro </color>", false);
                }
                if (evento == 13)
                {
                    ev.Player.ChangeRole(Role.CLASSD, false, false, false);
                    ev.Player.PersonalBroadcast(5, "<color=#EE7700> Te cambio la bombona de butano? </color>", false);
                }
                if (evento == 14)
                {
                    ev.Player.Teleport(Smod2.PluginManager.Manager.Server.Map.GetRandomSpawnPoint(Role.FACILITY_GUARD));
                    ev.Player.PersonalBroadcast(2, "<color=#FF0500> eeeemmmm, ¿HOla? </color>", false);
                }
                if (evento == 15)
                {
                    ev.Player.Teleport(Smod2.PluginManager.Manager.Server.Map.GetRandomSpawnPoint(Role.SCP_049_2));
                    ev.Player.PersonalBroadcast(2, "<color=#FF0500> eeeemmmm, ¿HOla? </color>", false);
                }
                if (evento == 16)
                {
                    ev.Player.Teleport(Smod2.PluginManager.Manager.Server.Map.GetRandomSpawnPoint(Role.SCP_049));
                    ev.Player.PersonalBroadcast(2, "<color=#FF0500> eeeemmmm, ¿HOla? </color>", false);
                }
                if (evento == 17)
                {
                    ev.Player.AddHealth(-50);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> ¡No toques!, mi espacio vital tio </color>", false);
                }
                if (evento == 18)
                {
                    ev.Player.AddHealth(50);
                    ev.Player.PersonalBroadcast(2, "<color=#EE00A6> UwU </color>", false);
                }
                if (evento == 19)
                {
                    ev.Player.AddHealth(500);
                    ev.Player.PersonalBroadcast(2, "<color=#EE00A6> !UwU¡ </color>", false);
                }
                if (evento == 20)
                {
                    Smod2.PluginManager.Manager.Server.Map.StartWarhead();
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> FUUUUUUUUUCK </color>", false);
                }
                if (evento == 21)
                {
                    Smod2.PluginManager.Manager.Server.Map.StopWarhead();
                    ev.Player.PersonalBroadcast(2, "<color=#EE00A6> well, nuke off </color>", false);
                }
                if (evento == 22)
                {
                    ev.Player.ChangeRole(Role.SCP_079);
                    ev.Player.PersonalBroadcast(2, "<color=#0026E6> SYSTEM ERROR BIT BIT </color>", false);
                }
                if (evento == 23)
                {
                    ev.Player.ChangeRole(Role.NTF_COMMANDER);
                    ev.Player.PersonalBroadcast(2, "<color=#0026E6> ¿A luchar? </color>", false);
                }
                if (evento == 24)
                {
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        if (Vidaextra[ev.Player.SteamId] > 0)
                        {
                            Vidaextra[ev.Player.SteamId] -= 1;
                        }
                        else
                        {
                            ev.Player.Kill(DamageType.FLYING);
                        }
                    }
                    else
                    {
                        ev.Player.Kill(DamageType.FALLDOWN);
                    }

                    ev.Player.PersonalBroadcast(2, "<color=#C50000> ufff </color>", false);
                }
                if (evento == 25)
                {
                    ev.Player.ThrowGrenade(GrenadeType.FLASHBANG, true, new Vector(0, 0, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> no puedes ver </color>", false);
                }
                if (evento == 25)
                {
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, new Vector(0, 0, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> corre </color>", false);
                }
                if (evento == 26)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_7, 999);
                    ev.Player.PersonalBroadcast(2, "<color=#0026E6> 999 de munición 7 </color>", false);
                }
                if (evento == 27)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_7, 0);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> 0 de munición 7 </color>", false);
                }
                if (evento == 28)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_7, 0);
                    ev.Player.SetAmmo(AmmoType.DROPPED_5, 0);
                    ev.Player.SetAmmo(AmmoType.DROPPED_9, 0);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> 0 de munición de todas las municiones </color>", false);
                }
                if (evento == 29)
                {
                    ev.Player.GiveItem(ItemType.O5_LEVEL_KEYCARD);
                    ev.Player.PersonalBroadcast(2, "<color=#AB00E6> O5 Gratis </color>", false);
                }
                if (evento == 30)
                {
                    ev.Player.AddHealth(9999);
                    ev.Player.SetAmmo(AmmoType.DROPPED_9, 999);
                    ev.Player.SetAmmo(AmmoType.DROPPED_7, 999);
                    ev.Player.SetAmmo(AmmoType.DROPPED_5, 999);
                    ev.Player.GiveItem(ItemType.LOGICER);
                    ev.Player.GiveItem(ItemType.E11_STANDARD_RIFLE);
                    ev.Player.GiveItem(ItemType.O5_LEVEL_KEYCARD);
                    ev.Player.PersonalBroadcast(5, "<color=#E600AB> Ahora eres un star Guardian y estas mamadisimo </color>", false);
                }
                if (evento == 31)
                {
                    ev.Player.GiveItem(ItemType.JANITOR_KEYCARD);
                    ev.Player.PersonalBroadcast(2, "<color=#AB00E6> Basura Gratis </color>", false);
                }
                if (evento == 32)
                {
                    ev.Player.GiveItem(ItemType.CUP);
                    ev.Player.PersonalBroadcast(2, "<color=#AB00E6> Cafe Gratis </color>", false);
                }
                if (evento == 33)
                {
                    ev.Player.GiveItem(ItemType.RADIO);
                    ev.Player.PersonalBroadcast(2, "<color=#AB00E6> Radio Gratis </color>", false);
                }
                if (evento == 34)
                {
                    ev.Player.GiveItem(ItemType.P90);
                    ev.Player.PersonalBroadcast(2, "<color=#AB00E6> P90 Gratis </color>", false);
                }
                if (evento == 35)
                {
                    ev.Player.ChangeRole(Role.ZOMBIE);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> JaJAAAAAAA </color>", false);
                }
                if (evento == 36)
                {
                    ev.Player.ChangeRole(Role.SCP_173, false, false);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> hasme pinut </color>", false);
                }
                if (evento == 37)
                {
                    ev.Player.ChangeRole(Role.SCP_173, false, false);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> hasme pinut </color>", false);
                }
                if (evento == 38)
                {
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> Te salvas por esta vez </color>", false);
                }
                if (evento == 39)
                {
                    ev.Player.PersonalBroadcast(3, "<color=#C50000> eemmm esto sa roto, por que no hase naa </color>", false);
                }
                if (evento == 40)
                {
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> lo importante es participar </color>", false);
                }
                if (evento == 41)
                {
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, new Vector(0, 2, 0), true, 0, true);

                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, ev.Player.GetPosition(), true, 0, false);

                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, new Vector(0, 0, 0), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, new Vector(0, 3, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, new Vector(0, 4, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, new Vector(0, 0, 0), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, new Vector(0, 2, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, new Vector(0, 0, 0), true, ev.Player.GetPosition(), true, 0, true);
                    ev.Player.ThrowGrenade(GrenadeType.FRAG_GRENADE, true, ev.Player.GetPosition(), true, new Vector(0, 4, 0), true, 0, false);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> Corre por tu vida YA </color>", false);
                }
                if (evento == 42)
                {
                    ev.Player.ChangeRole(Role.SCIENTIST, false);
                    ev.Player.PersonalBroadcast(2, " 100tífico ", false);
                }
                if (evento == 43)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_9, 999);
                    ev.Player.PersonalBroadcast(2, "<color=#DF193D> 999 de munición tipo 9 </color>", false);
                }
                if (evento == 44)
                {
                    ev.Player.SetAmmo(AmmoType.DROPPED_9, 0);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> 0 de munición tipo 9 </color>", false);
                }
                if (evento == 45)
                {
                    ev.Player.Teleport(Smod2.PluginManager.Manager.Server.Map.GetRandomSpawnPoint(Role.SCP_939_89));
                    ev.Player.PersonalBroadcast(2, "<color=#DF193D> Que pasó? </color>", false);
                }
                if (evento == 46)
                {
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        if (Vidaextra[ev.Player.SteamId] > 0)
                        {
                            Vidaextra[ev.Player.SteamId] -= 1;
                        }
                        else
                        {
                            ev.Player.Kill(DamageType.FLYING);
                        }
                    }
                    else
                    {
                        ev.Player.Kill(DamageType.FALLDOWN);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> F en el chat si no tenías vida extra </color>", false);
                }
                if (evento == 47)
                {
                    ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.PersonalBroadcast(2, "<color=#DF193D> Moneda gratis </color>", false);
                }
                if (evento == 48)
                {
                    ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.PersonalBroadcast(2, "<color=#DF193D> 2 Moneda gratis </color>", false);
                }
                if (evento == 49)
                {
                    ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN); ev.Player.GiveItem(ItemType.COIN);
                    ev.Player.PersonalBroadcast(2, "<color=#DF193D> MUCHAS Moneda gratis </color>", false);
                }
                if (evento == 50)
                {
                    ev.Player.ChangeRole(Role.SCP_106);
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> 106.exe started working </color>", false);
                }
                if (evento == 51)
                {
                    ev.Player.SetHealth(1);
                    ev.Player.PersonalBroadcast(2, "<color=#1928DF> Muerte súbita?? </color>", false);
                }
                if (evento == 52)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.SetHealth(1);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#1928DF> Todos 1 de vida MUAJAJAJJA </color>", false);
                }
                if (evento == 53)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.FRAG_GRENADE);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> +1 frag a todos </color>", false);
                }
                if (evento == 57)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.FLASHLIGHT);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> +1 flash a todos </color>", false);
                }
                if (evento == 54)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.MICROHID);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> +1 Micro a todos </color>", false);
                }
                if (evento == 55)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.FRAG_GRENADE); player.GiveItem(ItemType.FRAG_GRENADE); player.GiveItem(ItemType.FRAG_GRENADE);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> +3 frag a todos </color>", false);
                }
                if (evento == 56)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.CUP);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF05FF> +1 cafe a todos </color>", false);
                }
                if (evento == 58)
                {
                    ev.Player.PersonalBroadcast(2, " Nada jajaj ", false);
                }
                if (evento == 59)
                {
                    ev.Player.Teleport(Smod2.PluginManager.Manager.Server.Map.GetRandomSpawnPoint(Role.SCP_106));
                    ev.Player.PersonalBroadcast(2, " Y ahora que? ", false);
                }
                if (evento == 60)
                {
                    if ((p == 4) || (p == 6) || (p == 128))
                    {
                        MEC.Timing.RunCoroutine(spectator(ev.Player), MEC.Segment.FixedUpdate);
                    }
                    else
                    {
                        MEC.Timing.RunCoroutine(spectator(ev.Player), 1);
                    }
                    ev.Player.PersonalBroadcast(4, " en 60 segundos moriras sin importar nada, vidas extras, NADA ", false);
                }
                if (evento == 61)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        if (player.Name != ev.Player.Name)
                        {
                            if ((p == 4) || (p == 6) || (p == 128))
                            {
                                MEC.Timing.RunCoroutine(spectator(ev.Player), MEC.Segment.FixedUpdate);
                            }
                            else
                            {
                                MEC.Timing.RunCoroutine(spectator(ev.Player), 1);
                            }
                        }
                    }

                    ev.Player.PersonalBroadcast(4, " en 60 segundos todos moriran menos tu ", false);
                }
                if (evento == 62)
                {
                    ev.Player.GiveItem(ItemType.MEDKIT); ev.Player.PersonalBroadcast(4, " Botiquín gratis ", false);
                }
                if (evento == 63)
                {
                    ev.Player.ChangeRole(Role.SCP_939_89, false, false);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> Hoy me siento mas perro que nunca </color>", false);
                }
                if (evento == 64)
                {
                    ev.Player.ChangeRole(Role.SCP_939_53, false, false); ev.Player.SetHealth(1);
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> yo solo quería pienso </color>", false);
                }
                if (evento == 65)
                {
                    ev.Player.GiveItem(ItemType.FLASHLIGHT);
                    ev.Player.PersonalBroadcast(2, "<color=#DFDC19> Linterna gratis </color>", false);
                }
                if (evento == 66)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.FLASHLIGHT);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#DFDC19> Linterna gratis para todos </color>", false);
                }
                if (evento == 67)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        ev.Player.AddHealth(-1);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#C50000> -[numero de jugadores] de salud </color>", false);
                }
                if (evento == 68)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        ev.Player.AddHealth(1);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF> +[numero de jugadores] de salud </color>", false);
                }
                if (evento == 69)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.Teleport(ev.Player.GetPosition());
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF> Todos, venid YA! </color>", false);
                }
                if (evento == 70)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        if (player.TeamRole.Role == Role.SPECTATOR)
                        {
                            player.ChangeRole(Role.NTF_LIEUTENANT);
                        }
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF>TENIENTES ADELANTE </color>", false);
                }
                if (evento == 71)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        if (player.TeamRole.Role == Role.SPECTATOR)
                        {
                            player.ChangeRole(Role.CHAOS_INSURGENCY);
                        }
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF>Chaos ADELANTE </color>", false);
                }
                if (evento == 72)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        if (player.TeamRole.Role == Role.SPECTATOR)
                        {
                            player.ChangeRole(Role.ZOMBIE);
                        }
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#C50000>Zombies?¿ ADELANTE </color>", false);
                }
                if (evento == 73)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.LOGICER);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#C50000>Logicer para todos </color>", false);
                }
                if (evento == 74)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.USP);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#C50000>USP para todos </color>", false);
                }
                if (evento == 75)
                {
                    foreach (Player player in Smod2.PluginManager.Manager.Server.GetPlayers())
                    {
                        player.GiveItem(ItemType.RADIO);
                    }
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF>Radio para todos </color>", false);
                }
                if (evento == 76)
                {
                    ev.Destroy = true;
                    ev.Player.PersonalBroadcast(2, "<color=#FF00FF>DEJAME PASAR SUSIA </color>", false);
                }
                if (evento == 77)
                {
                    ev.Destroy = true;
                    ev.Player.AddHealth(-80);
                    ev.Player.PersonalBroadcast(4, "<color=#FF00FF>auch, romper puertas no es buena idea </color>", false);
                }
                if (evento == 78)
                {
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        if (Vidaextra[ev.Player.SteamId] > 0)
                        {
                            Vidaextra[ev.Player.SteamId] -= 1;
                        }
                        else
                        {
                            ev.Player.Kill(DamageType.WALL);
                        }
                    }
                    else
                    {
                        ev.Player.Kill(DamageType.WALL);
                    }
                    ev.Destroy = true;
                    ev.Player.PersonalBroadcast(4, "<color=#C50000>auch, romper puertas no es buena idea, puedes morir </color>", false);
                }
                if (evento == 79)
                {
                    ev.Player.ChangeRole(Role.SCP_096, false);
                    ev.Player.PersonalBroadcast(4, "LA DEPRESIÓN TE CONSUME", true);
                }
                if (evento == 80)
                {
                    if (!Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra.Add(ev.Player.SteamId, 1);
                    }
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra[ev.Player.SteamId] += 1;
                    }
                    ev.Player.PersonalBroadcast(4, "<color=#E40BD7> ♥ </color>", false);
                }
                if (evento == 81)
                {
                    System.Random jugadores = new System.Random();
                    int           numero    = jugadores.Next(0, Smod2.PluginManager.Manager.Server.NumPlayers);
                    if (!Love.ContainsKey(ev.Player.SteamId))
                    {
                        Love.Add(ev.Player.SteamId, Smod2.PluginManager.Manager.Server.GetPlayers()[numero].Name);
                    }
                    if (!Love.ContainsKey(ev.Player.SteamId))
                    {
                        Love.Add(Smod2.PluginManager.Manager.Server.GetPlayers()[numero].SteamId, ev.Player.Name);
                    }
                    ev.Player.PersonalBroadcast(4, "<color=#E40BD7> ♥.♥ (te enamorastes de " + Smod2.PluginManager.Manager.Server.GetPlayers()[numero].Name + " y no le puedes hacer daño)</color>", false);
                    Smod2.PluginManager.Manager.Server.GetPlayers()[numero].PersonalBroadcast(4, "<color=#E40BD7> ♥.♥ (te enamorastes de " + ev.Player.Name + "y no le puedes hacer daño)</color>", false);
                }
                if (evento == 82)
                {
                    if (!Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra.Add(ev.Player.SteamId, 1);
                    }
                    if (Vidaextra.ContainsKey(ev.Player.SteamId))
                    {
                        Vidaextra[ev.Player.SteamId] += 1;
                    }
                    ev.Player.PersonalBroadcast(4, "<color=#E40BD7> ♥ </color>", false);
                }
                if (evento == 83)
                {
                    ev.Player.ChangeRole(Role.SCP_173, false, false);
                    ev.Player.SetHealth(1);
                    ev.Player.PersonalBroadcast(4, "<color=#C50000> RUNNING IN THE 90S </color>", false);
                }
                if (evento == 84)
                {
                    ev.Destroy = true;
                    ev.Player.PersonalBroadcast(4, "<color=#0BD4E4> Esta casi tan rota como mi corazón :,( </color>", false);
                }
                if (evento == 85)
                {
                    System.Random jugadoress = new System.Random();
                    int           numero2    = jugadoress.Next(0, Smod2.PluginManager.Manager.Server.NumPlayers);
                    Smod2.PluginManager.Manager.Server.GetPlayers()[numero2].Kill(DamageType.SCP_173);
                    ev.Player.PersonalBroadcast(4, "<color=#0BD4E4>Jugador aleatorio se le a torcido el cuello</color>", false);
                }
                if (evento == 87)
                {
                    ev.Destroy = true;
                    ev.Player.GiveItem(ItemType.FRAG_GRENADE);
                    ev.Player.PersonalBroadcast(4, "<color=#0BD4E4> al romper la puerta encontre una granada </color>", false);
                }
                if (evento == 88)
                {
                    ev.Destroy = true;
                    ev.Player.GiveItem(ItemType.DISARMER);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> al romper la puerta encontre un disarmer </color>", false);
                }
                if (evento == 89)
                {
                    ev.Destroy = true;
                    ev.Player.GiveItem(ItemType.WEAPON_MANAGER_TABLET);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> al romper la puerta encontre una tablet </color>", false);
                }
                if (evento == 90)
                {
                    ev.Destroy = true;
                    ev.Player.GiveItem(ItemType.E11_STANDARD_RIFLE);;
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> al romper la puerta encontre una Fusil de asalto, jaja que cosas </color>", false);
                }
                if (evento == 91)
                {
                    ev.Allow = false;
                    ev.Player.GiveItem(ItemType.MICROHID);;
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF>la puerta te regalo una micro UwU </color>", false);
                }
                if (evento == 92)
                {
                    ev.Player.AddHealth(10);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> +10 de vida </color>", false);
                }
                if (evento == 93)
                {
                    ev.Destroy = true;
                    ev.Player.AddHealth(300);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> +300 de vida pero a que precio asesino de puertas </color>", false);
                }
                if (evento == 94)
                {
                    ev.Destroy = true;

                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> QUE HAS HECHO?!! </color>", false);
                }
                if (evento == 95)
                {
                    ev.Door.LockCooldown = 10;
                    ev.Door.Locked       = true;
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> upss, no se abre </color>", false);
                }
                if (evento == 96)
                {
                    ev.Player.GiveItem(ItemType.DROPPED_7);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> Munición? xD </color>", false);
                }
                if (evento == 97)
                {
                    ev.Player.GiveItem(ItemType.DROPPED_9);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> Munición? xD </color>", false);
                }
                if (evento == 98)
                {
                    ev.Player.GiveItem(ItemType.DROPPED_5);
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> Munición? xD </color>", false);
                }
                if (evento == 99)
                {
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> GANASTE JAJA </color>", false);
                    if (Love.ContainsKey(ev.Player.SteamId))
                    {
                        Smod2.PluginManager.Manager.Server.Map.Broadcast(10, ev.Player.Name + " ES EL GANADOR JAJAAAA y su enamorado " + Love[ev.Player.SteamId] + " tambien", false);
                    }
                    else
                    {
                        Smod2.PluginManager.Manager.Server.Map.Broadcast(10, ev.Player.Name + " ES EL GANADO JAJAAAA", false);
                    }
                }
                if (evento == 100)
                {
                    ev.Player.PersonalBroadcast(4, "<color=#FF05FF> F, no pasó nada </color>", false);
                }


                if ((p == 4) || (p == 6) || (p == 128))
                {
                    MEC.Timing.RunCoroutine(Cooldownw(ev.Player), MEC.Segment.FixedUpdate);
                }
                else
                {
                    MEC.Timing.RunCoroutine(Cooldownw(ev.Player), 1);
                }
            }
        }
        // When a door is accessed by a zombie, we check if there are enough zombies near the door. If yes, we break it.
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            int threshold = plugin.GetConfigInt("zbd_zombies_threshold");

            List <Player> zombies = plugin.Server.GetPlayers(Role.SCP_049_2);
            List <Player> nearbyZombies;
            int           nearbyZombiesCount;

            if (ev.Player.TeamRole.Role.Equals(Role.SCP_049_2))
            {
                Smod2.API.Door door = ev.Door;

                // Don't check gates, because you can't open those anyways.
                if (GATE_NAMES.Contains(door.Name))
                {
                    return;
                }

                // Only allow to destroy doors which normally can't be opened.
                if (isDisallowed(door) && plugin.GetConfigBool("zbd_broadcast_cannotopen"))
                {
                    if (!gettingCannotOpenBC.Contains(ev.Player.SteamId))
                    {
                        Timing.RunCoroutine(_displayCantBreak(ev.Player));
                    }
                }
                else if (!ev.Allow && !isMarked(door) && canBeBrokenDown(door))
                {
                    nearbyZombies      = getZombiesNearby(door, zombies);
                    nearbyZombiesCount = nearbyZombies.Count;

                    if (nearbyZombiesCount >= threshold)
                    {
                        float delay = plugin.GetConfigFloat("zbd_delay");

                        // Marking the door for destruction
                        markedDoorsPos.Add(door.Position.GetHashCode());

                        if (plugin.GetConfigBool("zbd_broadcast_countdown"))
                        {
                            // Display the countdown for each player
                            foreach (Player zombie in nearbyZombies)
                            {
                                Timing.RunCoroutine(_displayCountdown(zombie, delay));
                            }
                        }

                        Timing.RunCoroutine(_destroyDoorDelay(door, delay));
                    }
                    else if (plugin.GetConfigBool("zbd_broadcast_zombiesneeded"))
                    {
                        int amountNeeded = threshold - nearbyZombiesCount;

                        // Display zombies needed broadcast, don't do it for players already receiving this broadcast.
                        foreach (Player zombie in nearbyZombies)
                        {
                            if (!gettingZombiesNeededBC.Contains(zombie.SteamId))
                            {
                                Timing.RunCoroutine(_displayZombiesNeeded(zombie, amountNeeded));
                            }
                        }
                    }
                }
            }
        }
        public void OnDoorAccess(PlayerDoorAccessEvent ev)
        {
            // 判断有木有SCP-181
            if (GlobalVar.scp181 == null)
            {
                return;
            }

            // 判断玩家是不是SCP-181 不是则退出本次事件
            if (ev.Player.Name.Equals(GlobalVar.scp181.Name) == false)
            {
                return;
            }

            if (ev.Player.PlayerId != GlobalVar.scp181.PlayerId)
            {
                return;
            }

            // 如果手上有权限卡就不检测了
            if (ev.Player.GetCurrentItem().ItemType == ItemType.O5_LEVEL_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.MTF_LIEUTENANT_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.MTF_COMMANDER_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.CHAOS_INSURGENCY_DEVICE ||
                ev.Player.GetCurrentItem().ItemType == ItemType.SCIENTIST_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.GUARD_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.JANITOR_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.MAJOR_SCIENTIST_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.ZONE_MANAGER_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.SENIOR_GUARD_KEYCARD ||
                ev.Player.GetCurrentItem().ItemType == ItemType.CONTAINMENT_ENGINEER_KEYCARD)
            {
                return;
            }

            // 判断是否是权限门 不是就退出
            if (ev.Door.Permission.Equals("") == true)
            {
                return;
            }

            /*
             * 几率判断
             */

            // 随机数~  1-100 百分比
            Random random = new Random();
            int    number = random.Next(1, 100);

            // 获取设置的概率
            int luckyNumber = this.plugin.GetConfigInt("scp181_door_open_chance");

            // 如果debug模式开启了
            if (plugin.GetConfigBool("scp181_debug") == true)
            {
                plugin.Info("======================SCP-181 DoorAccess [Debug]======================");
                plugin.Info("SCP-181: " + ev.Player.Name + "(" + ev.Player.PlayerId + ")");
                plugin.Info("LuckyNumber: " + luckyNumber + " | RandomNumber: " + number);
                plugin.Info("Door: " + ev.Door.Name + " | Permission: " + ev.Door.Permission + " | Opened: " + ev.Door.Open);
            }

            // 如果随机数<=设置的概率 就开门/关门 | 锁住的门不能开
            if (number <= luckyNumber && ev.Door.Locked == false)
            {
                ev.Allow = true;
                GlobalVar.scp181.PersonalBroadcast(6, "<color=orange>[SCP-181]</color> <color=green>你太幸运了~ 使用了SCP-181的技能</color>", false);

                return;
            }

            return;
        }