예제 #1
0
        private void OnEntityDismounted(BaseMountable mountable, BasePlayer player)
        {
            _MagicCarpet mc = mountable.GetComponent <_MagicCarpet>();

            if (!mc)
            {
                return;
            }
            mc.player = null;
        }
예제 #2
0
        void attachCMD(BasePlayer player, string command, string[] args)
        {
            if (!permission.UserHasPermission(player.UserIDString, permissionName))
            {
                player.ChatMessage(msg("No Permission", player.UserIDString));
                return;
            }

            if (users.ContainsKey(player.UserIDString))
            {
                player.ChatMessage(msg("MC End", player.UserIDString));
                Effect.server.Run("assets/prefabs/npc/patrol helicopter/effects/rocket_fire.prefab", player.transform.position);
                _MagicCarpet carpet = users[player.UserIDString].GetComponent <_MagicCarpet>();
                if (carpet)
                {
                    carpet.Destroy();
                }
                BaseEntity ent = users[player.UserIDString];
                if (ent)
                {
                    users.Remove(player.UserIDString);
                    ent.Kill();
                }
            }
            else
            {
                player.ChatMessage(msg("MC start", player.UserIDString));
                Vector3 pos = player.transform.position + -player.transform.forward * 3f + new Vector3(0, 1f, 0);
                Effect.server.Run("assets/prefabs/npc/patrol helicopter/effects/rocket_fire.prefab", pos);
                BaseEntity ent = GameManager.server.CreateEntity("assets/prefabs/deployable/chair/chair.deployed.prefab", pos);
                if (ent)
                {
                    ent.Spawn();
                    ent.gameObject.AddComponent <_MagicCarpet>().player = player;
                    users.Add(player.UserIDString, ent);
                }
            }
        }