public void On106CreatePortal(Player106CreatePortalEvent ev)
        {
            foreach (var larry in Larries)
            {
                if (larry.player.PlayerId == ev.Player.PlayerId)
                {
                    if (larry.AllowPortal)
                    {
                        var spawns = ArithSpawningKit.RandomPlayerSpawning.RandomPlayerSpawning.Instance.Data.PlayerLoadedSpawns;

                        if (spawns.Count == 0)
                        {
                            ev.Position = ev.Player.GetPosition();
                        }
                        else
                        {
                            ev.Position = spawns[UnityEngine.Random.Range(0, spawns.Count)].Position + portalOffset;
                        }
                    }
                    else
                    {
                        ev.Position = null;
                    }
                    return;
                }
            }
        }
Example #2
0
 public void On106CreatePortal(Player106CreatePortalEvent e)
 {
     if (SCP457.SteamIDIsSCP457(e.Player.SteamId))
     {
         e.Position = new Vector(-100f, -100f, -100f);
     }
 }
Example #3
0
 public void On106CreatePortal(Player106CreatePortalEvent e)
 {
     if (plugin.IsScp457(e.Player))
     {
         e.Position = null;
     }
 }
Example #4
0
 void IEventHandler106CreatePortal.On106CreatePortal(Player106CreatePortalEvent ev)
 {
     send(ev, new IdMapping()
          .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)
          );
 }
 public void On106CreatePortal(Player106CreatePortalEvent ev)
 {
     if (decontaminationStarted && DeconLoadedSpawns.Count > 0)
     {
         ev.Position = DeconLoadedSpawns[UnityEngine.Random.Range(0, DeconLoadedSpawns.Count)].Position;
     }
     else if (!decontaminationStarted && PortalLoadedSpawns.Count > 0)
     {
         ev.Position = PortalLoadedSpawns[UnityEngine.Random.Range(0, PortalLoadedSpawns.Count)].Position;
     }
 }
Example #6
0
        public void On106CreatePortal(Player106CreatePortalEvent ev)
        {
            /// <summary>
            /// Called when SCP-106 creates a portal
            /// <summary>
            Dictionary <string, string> variables = new Dictionary <string, string>
            {
                { "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() }
            };

            plugin.SendMessage(Config.GetArray("channels.on106createportal"), "player.on106createportal", variables);
        }
Example #7
0
 public void On106CreatePortal(Player106CreatePortalEvent ev)
 {
     if (!singleCreate)
     {
         singleCreate = true;
         return;
     }
     else
     {
         PocketTrap.instance.Debug($"[On106CreatePortal] {ev.Player.Name}<{ev.Player.TeamRole.Role}> / {ev.Position}");
         if (waitcoroutine == null)
         {
             waitcoroutine = Timing.RunCoroutine(_WaitForPortalActivated(), Segment.FixedUpdate);
         }
         else
         {
             Timing.KillCoroutines(waitcoroutine);
             waitcoroutine = Timing.RunCoroutine(_WaitForPortalActivated(), Segment.FixedUpdate);
         }
         singleCreate = false;
     }
 }
        /// <summary>
        /// SCP106 创建传送洞
        /// </summary>
        /// <param name="ev"></param>
        public void On106CreatePortal(Player106CreatePortalEvent ev)
        {
            //获取配置参数
            enable_01  = plugin.GetConfigBool("Enable_SCP106_More_Portals");
            maxPortals = plugin.GetConfigInt("Set_Max_Portals");

            if (enable_01)
            {
                //检查SCP身份是否为SCP106
                //【根据wiki 默认事件下ev.player为SCP-106 此判断可省略】
                if (ev.Player.TeamRole.Role == RoleType.SCP_106)
                {
                    //存储小洞数量 未满
                    if (portals < maxPortals)
                    {
                        //创建SCP106小洞
                        //记录小洞位置
                        portalsList.Append(ev.Player.Get106Portal());
                        //记录当前记录小洞位置个数
                        portals += 1;
                    }
                    //存储小洞数量 满了
                    if (portals == maxPortals)
                    {
                        //默认从第一个开始轮流替换
                        //替换位置数据
                        portalsList[i] = ev.Player.Get106Portal();
                        i++;
                        //如果i值等于存储Length,重置i值
                        if (i >= portalsList.Length)
                        {
                            i = 0;
                        }
                    }
                }
            }
        }
Example #9
0
 public void On106CreatePortal(Player106CreatePortalEvent ev)
 {
     plugin.luaHookCall.Function.Call("On106CreatePortal", ev.Player, ev.Position);
 }
 public void On106CreatePortal(Player106CreatePortalEvent ev)
 {
     Portales[ev.Player.PlayerId] = ev.Player.GetPosition();
 }