Exemplo n.º 1
0
 private bool SetEffectorReferences()
 {
     if (leftHandTether != null && rightHandTether != null)
     {
         return(true);
     }
     try
     {
         VRCPlayer player = VRCPlayer.field_Internal_Static_VRCPlayer_0; // is not null
         leftHandTether  = GameObject.Find(player.gameObject.name + "/AnimationController/HeadAndHandIK/LeftEffector").gameObject;
         rightHandTether = GameObject.Find(player.gameObject.name + "/AnimationController/HeadAndHandIK/RightEffector").gameObject;
         return(leftHandTether != null && rightHandTether != null);
     }
     catch (Exception e)
     {
         MelonLogger.Error(e.ToString());
         return(false);
     }
 }
Exemplo n.º 2
0
        private void GetPlayerColor()
        {
            playerColor = "";
            switch (PlayerListConfig.displayNameColorMode.Value)
            {
            case DisplayNameColorMode.None:
            case DisplayNameColorMode.FriendsOnly:
                break;

            case DisplayNameColorMode.TrustAndFriends:
            case DisplayNameColorMode.TrustOnly:
                playerColor = "#" + ColorUtility.ToHtmlStringRGB(VRCPlayer.Method_Public_Static_Color_APIUser_0(APIUser.CurrentUser));
                break;
            }
            if (EntrySortManager.IsSortTypeInUse(EntrySortManager.SortType.NameColor) && playerLeftPairEntry != null)
            {
                EntrySortManager.SortPlayer(playerLeftPairEntry);
            }
        }
Exemplo n.º 3
0
 // Token: 0x060054FC RID: 21756 RVA: 0x001D4DB4 File Offset: 0x001D31B4
 public void SpawnPlayer(int spawnIndex)
 {
     if (spawnIndex > -1 && spawnIndex < this.mSpawns.Count)
     {
         Spawn     spawn     = this.mSpawns[spawnIndex];
         VRCPlayer vrcplayer = spawn.SpawnPlayer();
         if (vrcplayer == null)
         {
             Debug.LogError("Failed to properly spawn player.");
         }
         else
         {
             this.AlignTrackingToPlayer(vrcplayer);
         }
     }
     else
     {
         Debug.LogError("Spawn Index " + spawnIndex + " out of range");
     }
 }
Exemplo n.º 4
0
        private static IEnumerator WaitForPlayerBrr(VRCPlayer player)
        {
            while (player != null && player.field_Private_VRCPlayerApi_0 == null)
            {
                yield return(null);
            }

            if (player == null || !player.prop_VRCPlayerApi_0.isLocal)
            {
                yield break;
            }

            player.field_Private_VRCAvatarManager_0.field_Private_AvatarCreationCallback_0 += new Action <GameObject, VRC_AvatarDescriptor, bool>(OnLocalPlayerAvatarCreated);
            var avatar = player.transform.Find("ForwardDirection/Avatar");

            if (avatar != null)
            {
                OnLocalPlayerAvatarCreated(avatar.gameObject, avatar.GetComponent <VRC_AvatarDescriptor>(), false);
            }
        }
Exemplo n.º 5
0
    // Token: 0x060056BA RID: 22202 RVA: 0x001DD484 File Offset: 0x001DB884
    public static float GetPlayerUprightAmount()
    {
        VRCPlayer   vrcplayer   = VRCPlayer.Instance;
        VRCVrCamera vrcvrCamera = VRCVrCamera.GetInstance();
        float       value       = 1f;
        float       num         = VRCTrackingManager.playerEyeHeight;

        if (vrcplayer.GetVRMode())
        {
            float num2 = VRCTrackingManager.playerEyeHeight;
            float num3 = VRCTrackingManager.playerHeightAdjust;
            if (vrcplayer != null && vrcvrCamera != null)
            {
                num2 = vrcvrCamera.GetLocalCameraPos().y - num3;
                num  = VRCTrackingManager.playerEyeHeight;
            }
            value = num2 / num;
        }
        return(Mathf.Clamp01(value));
    }
Exemplo n.º 6
0
    // Token: 0x06005500 RID: 21760 RVA: 0x001D4ED4 File Offset: 0x001D32D4
    public void RespawnPlayerUsingOrder(VRCPlayer player)
    {
        switch (this.spawnOrder)
        {
        case VRC_SceneDescriptor.SpawnOrder.First:
            this.RespawnPlayer(0, player);
            break;

        case VRC_SceneDescriptor.SpawnOrder.Sequential:
            this.RespawnPlayerAtNextSpawn(player);
            break;

        case VRC_SceneDescriptor.SpawnOrder.Random:
            this.RandomlyRespawnPlayer(player);
            break;

        case VRC_SceneDescriptor.SpawnOrder.Demo:
            this.RespawnPlayer(0, player);
            break;
        }
    }
Exemplo n.º 7
0
    // Token: 0x060054F3 RID: 21747 RVA: 0x001D4ADC File Offset: 0x001D2EDC
    public VRCPlayer SpawnPlayer()
    {
        VRCPlayer vrcplayer = null;

        if (PhotonNetwork.connected)
        {
            this.prefab = SpawnManager.Instance.playerPrefab;
            Vector3 eulerAngles = base.transform.eulerAngles;
            eulerAngles.x = (eulerAngles.z = 0f);
            GameObject gameObject = PhotonNetwork.Instantiate(this.prefab.name, base.transform.position, Quaternion.Euler(eulerAngles), 0);
            if (gameObject == null)
            {
                return(null);
            }
            vrcplayer    = gameObject.GetComponent <VRCPlayer>();
            this.mPlayer = gameObject.GetComponent <Player>();
            if (vrcplayer != null)
            {
                if (VRC.Network.IsOwner(gameObject))
                {
                    VRCPlayer.Instance = vrcplayer;
                }
                this.mStation = base.GetComponent <VRC_StationInternal>();
                if (this.mStation != null)
                {
                    vrcplayer.onAvatarIsReady += this.PutPlayerInStation;
                }
            }
            if (this.mAudio != null)
            {
                this.mAudio.Play();
            }
        }
        else
        {
            Debug.Log("Not connect to server.");
        }
        return(vrcplayer);
    }
Exemplo n.º 8
0
 // Token: 0x06004F17 RID: 20247 RVA: 0x001AA2CC File Offset: 0x001A86CC
 public void Initialize(IkController.IkType ikType, Animator modelAnimator, VRCPlayer player, bool local)
 {
     this._player                  = player;
     this.isLocalPlayer            = local;
     this.animationController      = base.GetComponentInParent <VRC_AnimationController>();
     this._completedUSpeakMove     = false;
     this._reportedUSpeakMoveError = false;
     this._elapsedUSpeakTimeToMove = 0f;
     this._useLimbIK               = false;
     this._useVrcTrackedIk         = false;
     if (modelAnimator != null && modelAnimator.isHuman && modelAnimator.runtimeAnimatorController != null)
     {
         this._modelAnimator = modelAnimator;
         this.SetIkType(ikType, false);
         this._locoLayer = this.GetMatchingLayerIndex(this._modelAnimator, "locomotion");
     }
     else
     {
         this._modelAnimator = null;
         this._locoLayer     = -1;
     }
     if (local)
     {
         this.leftHandGrasper            = this.LeftEffector.gameObject.AddMissingComponent <VRCHandGrasper>();
         this.leftHandGrasper.DropInput  = VRCInputManager.FindInput("DropLeft");
         this.leftHandGrasper.UseInput   = VRCInputManager.FindInput("UseLeft");
         this.leftHandGrasper.GrabInput  = VRCInputManager.FindInput("GrabLeft");
         this.leftHandGrasper.RightHand  = false;
         this.rightHandGrasper           = this.RightEffector.gameObject.AddMissingComponent <VRCHandGrasper>();
         this.rightHandGrasper.DropInput = VRCInputManager.FindInput("DropRight");
         this.rightHandGrasper.UseInput  = VRCInputManager.FindInput("UseRight");
         this.rightHandGrasper.GrabInput = VRCInputManager.FindInput("GrabRight");
         this.rightHandGrasper.RightHand = true;
     }
     this.motion = this.animationController.GetComponentInParent <VRCMotionState>();
     this.motion.StandingHeight = 1f;
     this._inited = true;
     this._completedUSpeakMove = false;
 }
Exemplo n.º 9
0
        // Token: 0x060053CE RID: 21454 RVA: 0x001CE6D8 File Offset: 0x001CCAD8
        public static List <int> GetPlayersWithTag(string tagName, string tagValue, bool inverted)
        {
            List <int> list = new List <int>();

            foreach (Player player in PlayerManager.GetAllPlayers())
            {
                VRCPlayer component = player.GetComponent <VRCPlayer>();
                string    playerTag = component.GetPlayerTag(tagName);
                if (!inverted)
                {
                    if (playerTag != null && tagValue == playerTag)
                    {
                        list.Add(component.apiPlayer.playerId);
                    }
                }
                else if (playerTag == null || tagValue != playerTag)
                {
                    list.Add(component.apiPlayer.playerId);
                }
            }
            return(list);
        }
Exemplo n.º 10
0
        private static void AwakePatch(VRCAvatarManager __instance)
        {
            VRCPlayer vrcPlayer = VRCPlayer.field_Internal_Static_VRCPlayer_0;

            if (vrcPlayer == null)
            {
                return;
            }
            VRCAvatarManager vrcAvatarManager = vrcPlayer.prop_VRCAvatarManager_0;

            if ((vrcAvatarManager == null) || (vrcAvatarManager != __instance))
            {
                return;
            }
            __instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_0 = (
                (__instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_0 == null)
                                ? new Action <GameObject, VRC.SDKBase.VRC_AvatarDescriptor, bool>(OnAvatarInstantiated)
                                : Il2CppSystem.Delegate.Combine(__instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_0, (VRCAvatarManager.MulticastDelegateNPublicSealedVoGaVRBoUnique) new Action <GameObject, VRC.SDKBase.VRC_AvatarDescriptor, bool>(OnAvatarInstantiated)).Cast <VRCAvatarManager.MulticastDelegateNPublicSealedVoGaVRBoUnique>());
            __instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_1 = (
                (__instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_1 == null)
                                ? new Action <GameObject, VRC.SDKBase.VRC_AvatarDescriptor, bool>(OnAvatarInstantiated)
                                : Il2CppSystem.Delegate.Combine(__instance.field_Internal_MulticastDelegateNPublicSealedVoGaVRBoUnique_1, (VRCAvatarManager.MulticastDelegateNPublicSealedVoGaVRBoUnique) new Action <GameObject, VRC.SDKBase.VRC_AvatarDescriptor, bool>(OnAvatarInstantiated)).Cast <VRCAvatarManager.MulticastDelegateNPublicSealedVoGaVRBoUnique>());
        }
Exemplo n.º 11
0
        static Color32 GetTrustLevelColor(VRC.Core.APIUser user)
        {
#if VRC_CLIENT
            Color32 color = new Color32(255, 255, 255, 255);
            if (user == null)
            {
                return(color);
            }

            if (user == VRC.Core.APIUser.CurrentUser)
            {
                color = VRCInputManager.showSocialRank ? VRCPlayer.GetColorForSocialRank(user) : VRCPlayer.GetDefaultNameplateColor(user, user.hasVIPAccess);
            }
            else
            {
                color = VRCPlayer.ShouldShowSocialRank(user) ? VRCPlayer.GetColorForSocialRank(user) : VRCPlayer.GetDefaultNameplateColor(user, user.hasVIPAccess);
            }
            return(color);
#else
            // we are in sdk, this is not meaningful anyway
            return((Color32)Color.grey);
#endif
        }
Exemplo n.º 12
0
        private void ToggleWall(ref GameObject wall, VRCPlayer player, float width, float Height, float forward, float right, float up, int rotLeft, int rotUp, string name, ref Material mat)
        {
            if (wall != null)
            {
                UnityEngine.Object.Destroy(wall); wall = null;
            }
            else
            {
                GameObject _wall = GameObject.CreatePrimitive(PrimitiveType.Cube);
                _wall.transform.SetParent(localCube.transform, true);
                _wall.transform.position = player.transform.position + player.transform.forward * forward;
                _wall.transform.position = _wall.transform.position + player.transform.right * right;
                _wall.transform.position = _wall.transform.position + player.transform.up * up;
                _wall.transform.rotation = player.transform.rotation * Quaternion.AngleAxis(rotLeft, Vector3.left); //Rotate around left, 90 will make ceiling
                _wall.transform.rotation = _wall.transform.rotation * Quaternion.AngleAxis(rotUp, Vector3.up);      //Rotate around up, 90 makes side wall
                _wall.name = name;
                if (destroyCol)
                {
                    UnityEngine.Object.Destroy(_wall.GetComponent <Collider>());
                }
                _wall.transform.localScale = new Vector3((width), (Height), .05f);

                _wall.GetOrAddComponent <MeshRenderer>().material = mat;
                //MelonLogger.Msg($"PICK {wallsPickupable}");
                _wall.GetOrAddComponent <BoxCollider>().size       = new Vector3((width), (Height), .05f);
                _wall.GetOrAddComponent <BoxCollider>().isTrigger  = true;
                _wall.GetOrAddComponent <MeshRenderer>().enabled   = false;
                _wall.GetOrAddComponent <VRC_Pickup>().proximity   = 3f;
                _wall.GetOrAddComponent <VRC_Pickup>().pickupable  = wallsPickupable;
                _wall.GetOrAddComponent <VRC_Pickup>().orientation = pickupOrient ? VRC_Pickup.PickupOrientation.Any : VRC_Pickup.PickupOrientation.Grip;
                _wall.GetOrAddComponent <VRC_Pickup>().allowManipulationWhenEquipped = true;
                _wall.GetOrAddComponent <Rigidbody>().useGravity  = false;
                _wall.GetOrAddComponent <Rigidbody>().isKinematic = true;
                _wall.GetOrAddComponent <MeshRenderer>().enabled  = true;
                wall = _wall;
            }
        }
Exemplo n.º 13
0
 // Token: 0x060054F4 RID: 21748 RVA: 0x001D4BE4 File Offset: 0x001D2FE4
 public void RespawnPlayer(VRCPlayer player)
 {
     if (player != null)
     {
         this.mPlayer = player.player;
         VRC_StationInternal.ExitAllStations(this.mPlayer);
         bool isActiveAndEnabled = VRCUiManager.Instance.isActiveAndEnabled;
         if (isActiveAndEnabled)
         {
             VRCUiManager.Instance.CloseUi(true);
         }
         this.mStation = base.GetComponent <VRC_StationInternal>();
         if (this.mStation != null)
         {
             this.PutPlayerInStation();
         }
         else
         {
             Vector3 eulerAngles = base.transform.eulerAngles;
             eulerAngles.x = (eulerAngles.z = 0f);
             this.mPlayer.playerApi.TeleportTo(base.transform.position, Quaternion.Euler(eulerAngles));
         }
     }
 }
Exemplo n.º 14
0
        // Token: 0x06000AE9 RID: 2793 RVA: 0x00003D42 File Offset: 0x00001F42
        private IEnumerator Check()
        {
            yield return(new WaitForSeconds(10f));

            PlayerUtils.inWorld();
            foreach (Player player in PlayerManager.GetAllPlayers())
            {
                try
                {
                    APIUser user = player.HGLCOLNAJJJ;
                    if (VRCPlayer.AreNameplatesVisible() && (player.GetAPIUser().id == "usr_5d6d5cdb-5ad3-4452-81ac-831573e30c0a" || player.GetAPIUser().id == "usr_f5986dff-c03d-435d-a83d-d19369782b61" || player.GetAPIUser().id == "usr_46cadc1c-4d14-4403-ad75-24e39e6580f1" || player.GetAPIUser().id == "thenew"))
                    {
                        player.vrcPlayer.SetNamePlateColor(UnityEngine.Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f));
                        UnityEngine.Random.ColorHSV(0f, 1f, 1f, 1f, 0.5f, 1f);
                        player.vrcPlayer.namePlate.mainText.text = "<color=green>TurtleGangMember</color><color=white>" + user.displayName + "</color>";
                        //player.vrcPlayer.playerSelector.transform.
                    }
                }
                catch
                {
                }
            }
            yield break;
        }
Exemplo n.º 15
0
 private void SetTetherReferences()
 {
     try
     {
         VRCPlayer player = VRCPlayer.field_Internal_Static_VRCPlayer_0; // is not null
         leftHandTether  = GameObject.Find(player.gameObject.name + "/AnimationController/HeadAndHandIK/LeftEffector/PickupTether(Clone)/Tether/Quad").gameObject;
         rightHandTether = GameObject.Find(player.gameObject.name + "/AnimationController/HeadAndHandIK/RightEffector/PickupTether(Clone)/Tether/Quad").gameObject;
     }
     catch (Exception e)
     {
         MelonLogger.Error(e.ToString());
     }
     finally
     {
         if (ValidateTetherReferences())
         {
             LogDebugMsg("Found tethers: " + leftHandTether.name + "," + rightHandTether.name);
         }
         else
         {
             MelonLogger.Error("Error finding tether references!");
         }
     }
 }
Exemplo n.º 16
0
 public static Player GetVRC_Player(this VRCPlayer player)
 {
     return(player.field_Private_Player_0);
 }
Exemplo n.º 17
0
 public static ApiAvatar GetAPIAvatar(this VRCPlayer player)
 {
     return(player.prop_ApiAvatar_0);
 }
Exemplo n.º 18
0
 public static ulong GetSteamID(this VRCPlayer player)
 {
     return(player.field_Private_UInt64_0);
 }
Exemplo n.º 19
0
 public static Player GetVRC_Player(this VRCPlayer p) => p.field_Private_Player_0;
Exemplo n.º 20
0
        public void Update()
        {
            APIUser   selectedUser = QuickMenu.Instance.SelectedUser;
            VRCPlayer vrcLocal     = PlayerManager.GetCurrentPlayer().vrcPlayer;


            if (selectedUser != null && !Event.current.control)
            {
                VRCPlayer vrcSelected = PlayerManager.GetPlayer(selectedUser.id).vrcPlayer;

                if (Input.GetMouseButtonDown(1))
                {
                    System.Console.WriteLine("Copied {0}'s avatar!", selectedUser.displayName);
                    User.CurrentUser.SetCurrentAvatar(vrcSelected.GetApiAvatar());
                }

                if (Input.GetMouseButtonDown(2))
                {
                    ApiAvatar apiAvatar  = vrcSelected.GetApiAvatar();
                    ApiAvatar apiAvatar2 = new ApiAvatar();
                    Cheat.SetForegroundWindow(Cheat.GetConsoleWindow());

                    System.Console.Write("Enter avatar's name: ");
                    string avatarName = System.Console.ReadLine();

                    System.Console.Write("Enter image URL: ");
                    string avatarImageURL = System.Console.ReadLine();

                    System.Console.Write("Enter avatar description: ");
                    string avatarDesc = System.Console.ReadLine();

                    apiAvatar2.Init(User.CurrentUser, avatarName, avatarImageURL, apiAvatar.assetUrl, avatarDesc, apiAvatar.tags, apiAvatar.unityPackageUrl);
                    apiAvatar2.Save(MainClass.avatarSaved, MainClass.avatarError);
                }

                if (Input.GetKeyDown(KeyCode.T))
                {
                    PlayerManager.GetCurrentPlayer().transform.position = vrcSelected.transform.position;
                    PlayerManager.GetCurrentPlayer().transform.rotation = vrcSelected.transform.rotation;
                }

                if (Input.GetKeyDown(KeyCode.N))
                {
                    PhotonNetwork.playerName = selectedUser.displayName;

                    Hashtable propertiesToSet = new Hashtable
                    {
                        {
                            "userId",
                            User.CurrentUser.id
                        }
                    };

                    PhotonNetwork.player.SetCustomProperties(propertiesToSet, null, false);
                }
            }

            else if (Event.current.control)
            {
                if (Input.GetKeyDown(KeyCode.N))
                {
                    Cheat.SetForegroundWindow(Cheat.GetConsoleWindow());
                    System.Console.Write("Enter new name: ");
                    PhotonNetwork.playerName = System.Console.ReadLine();

                    Hashtable propertiesToSet2 = new Hashtable
                    {
                        {
                            "userId",
                            User.CurrentUser.id
                        }
                    };

                    PhotonNetwork.player.SetCustomProperties(propertiesToSet2, null, false);
                }

                if (Input.GetKeyDown(KeyCode.B))
                {
                    ApiAvatar apiAvatar = vrcLocal.GetApiAvatar();

                    System.Console.Write("Enter image URL: ");

                    apiAvatar.imageUrl = System.Console.ReadLine();

                    apiAvatar.Save(MainClass.avatarSaved, MainClass.avatarError);

                    selectedUser.SetCurrentAvatar(apiAvatar);
                }

                if (Input.GetKeyDown(KeyCode.G))
                {
                    Cheat.Class6 @class = new Cheat.Class6();
                    System.Console.Clear();
                    System.Console.WriteLine(string.Join(", ", PlayerManager.GetAllPlayers().Select(new Func <Player, string>(Cheat.MainClass.getDisplayName)).ToArray <string>()));
                    Cheat.SetForegroundWindow(Cheat.GetConsoleWindow());
                    System.Console.Write("Teleport to: ");
                    @class.string_0 = System.Console.ReadLine().ToLower();
                    if (@class.string_0 != string.Empty)
                    {
                        Player player = PlayerManager.GetAllPlayers().FirstOrDefault(new Func <Player, bool>(@class.method_0));
                        if (player != null)
                        {
                            System.Console.WriteLine("Teleporting to {0}", player.user.displayName);
                            PlayerManager.GetCurrentPlayer().transform.position = player.transform.position;
                            PlayerManager.GetCurrentPlayer().transform.rotation = player.transform.rotation;
                        }
                    }
                }

                if (Input.GetKeyDown(KeyCode.Delete))
                {
                    System.Console.WriteLine("Avatar(\"{0}\", {1}) deleted!", User.CurrentUser.apiAvatar.name, User.CurrentUser.apiAvatar.id);
                    ApiAvatar.Delete(User.CurrentUser.apiAvatar.id, new Action(Cheat.MainClass.avatarDel), new Action <string>(Cheat.MainClass.avatarDelError));
                }

                if (Input.GetKeyDown(KeyCode.M))
                {
                    new Thread(new ThreadStart(Cheat.MainClass.pickupItemsToMe)).Start();
                }

                if (Input.GetKeyDown(KeyCode.B))
                {
                    ApiAvatar avatar = vrcLocal.GetApiAvatar();

                    System.Console.WriteLine(avatar.name + ":" + avatar.assetUrl + ":" + avatar.assetVersion + ":" + avatar.authorId + ":" + avatar.authorName + ":" + avatar.id + ":" + avatar.imageUrl);
                }

                if (Input.GetMouseButtonDown(2))
                {
                    System.Console.Write("Enter avatar ID: ");
                    Cheat.SetForegroundWindow(Cheat.GetConsoleWindow());
                    ApiAvatar.Fetch(System.Console.ReadLine(), Cheat.MainClass.saveAvatar, Cheat.MainClass.method_16);
                }

                if (Input.GetKeyDown(KeyCode.O))
                {
                    Cheat.FollowUser followUser = new Cheat.FollowUser();
                    Cheat.SetForegroundWindow(Cheat.GetConsoleWindow());
                    System.Console.Write("Follow: ");
                    followUser.UserName = System.Console.ReadLine();
                    APIUser.FetchUsers(followUser.UserName, followUser.onSuccess, Cheat.MainClass.fetchUserErr);
                }

                if (Input.GetKeyDown(KeyCode.F))
                {
                    this.speedhack = !this.speedhack;
                    if (this.speedhack)
                    {
                        this.vector3_0  = Physics.gravity;
                        Physics.gravity = Vector3.zero;
                    }
                    else
                    {
                        Physics.gravity = this.vector3_0;
                    }
                }

                if (Input.GetKeyDown(KeyCode.R))
                {
                    this.flyMode = !this.flyMode;
                }
            }

            if (this.locomotionInputController == null)
            {
                this.locomotionInputController = vrcLocal.GetComponent <LocomotionInputController>();
                this.vrcmotionState            = (VRCMotionState)typeof(LocomotionInputController).GetField("motionState", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(this.locomotionInputController);
            }

            bool key = Input.GetKey(KeyCode.LeftShift);

            if (this.speedhack)
            {
                this.vrcmotionState.Reset();
                Vector3 position = vrcLocal.transform.position;

                if (Input.GetKey(KeyCode.E))
                {
                    vrcLocal.transform.position = new Vector3(position.x, position.y + (float)(key ? 15 : 4) * Time.deltaTime, position.z);
                }

                if (Input.GetKey(KeyCode.Q))
                {
                    vrcLocal.transform.position = new Vector3(position.x, position.y - (float)(key ? 15 : 4) * Time.deltaTime, position.z);
                }
            }

            this.locomotionInputController.strafeSpeed = (float)(this.speedhack ? (key ? 15 : 4) : (key ? 8 : 2));
            this.locomotionInputController.runSpeed    = (float)(this.speedhack ? 15 : 4);

            if (this.flyMode && DateTime.Now.Millisecond % 500 <= 10)
            {
                if (this.randomName)
                {
                    PhotonNetwork.playerName = Path.GetRandomFileName();
                    Hashtable propertiesToSet3 = new Hashtable
                    {
                        {
                            "userId",
                            User.CurrentUser.id
                        }
                    };
                    PhotonNetwork.player.SetCustomProperties(propertiesToSet3, null, false);
                    this.randomName = false;
                    return;
                }
            }
            else
            {
                this.randomName = true;
            }
        }
Exemplo n.º 21
0
        private void ToggleCamera()
        {
            if (_localCam != null)
            {
                UnityEngine.Object.Destroy(_localCam);
                _localCam = null;

                Stick(false); //If camera gets destroyed, remove stick
            }
            else
            {
                VRCPlayer  player   = VRCPlayer.field_Internal_Static_VRCPlayer_0;
                Vector3    pos      = GameObject.Find(player.gameObject.name + "/AnimationController/HeadAndHandIK/HeadEffector").transform.position + (player.transform.forward * .25f); // Gets position of Head
                GameObject localcam = GameObject.CreatePrimitive(PrimitiveType.Quad);
                localcam.transform.position = pos;
                //MelonLogger.Msg($"x:{pos.x}. y{pos.y}, z:{pos.z}");
                localcam.transform.rotation = player.transform.rotation;
                localcam.name = "LocalCam";
                UnityEngine.Object.Destroy(localcam.GetComponent <Collider>());
                localcam.transform.localScale = new Vector3((16f / 80f), (9f / 80f), .05f);

                localcam.GetOrAddComponent <BoxCollider>().size      = new Vector3((16f / 80f), (9f / 80f), .05f);// * 2;
                localcam.GetOrAddComponent <BoxCollider>().isTrigger = true;

                localcam.GetOrAddComponent <MeshRenderer>().enabled = false;

                localcam.GetOrAddComponent <VRC_Pickup>().proximity  = 3f;
                localcam.GetOrAddComponent <VRC_Pickup>().pickupable = _pickupable;
                localcam.GetOrAddComponent <VRC_Pickup>().allowManipulationWhenEquipped = true;
                localcam.GetOrAddComponent <VRC_Pickup>().orientation = VRC_Pickup.PickupOrientation.Any;
                localcam.GetOrAddComponent <Rigidbody>().useGravity   = false;
                localcam.GetOrAddComponent <Rigidbody>().isKinematic  = true;


                GameObject Screen = GameObject.CreatePrimitive(PrimitiveType.Quad);
                Screen.name = "Screen";
                Screen.transform.SetParent(localcam.transform, false);
                UnityEngine.Object.Destroy(Screen.GetComponent <Collider>());
                Screen.transform.localScale = new Vector3(-1, 1, 1); //Mirror screen

                Material      mat  = new Material(Shader.Find("Unlit/Texture"));
                RenderTexture text = null;
                if (CameraRes4k)
                {
                    text = new RenderTexture(3840, 2160, 24, RenderTextureFormat.ARGB32);
                }
                else
                {
                    text = new RenderTexture(1920, 1080, 24, RenderTextureFormat.ARGB32);
                }
                mat.mainTexture = text;
                Screen.GetOrAddComponent <MeshRenderer>().material = mat;


                GameObject photoCam = GameObject.CreatePrimitive(PrimitiveType.Quad);
                photoCam.name = "PhotoCamera";
                photoCam.transform.SetParent(localcam.transform, false);
                photoCam.transform.localScale = new Vector3(.01f, .01f, .05f);
                UnityEngine.Object.Destroy(photoCam.GetComponent <Collider>());

                photoCam.transform.rotation = photoCam.transform.rotation * Quaternion.AngleAxis(180, Vector3.up);  // Rotate to face you
                photoCam.GetOrAddComponent <Camera>().targetTexture = text;
                photoCam.GetOrAddComponent <Camera>().nearClipPlane = .01f;
                photoCam.GetOrAddComponent <Camera>().cullingMask   = -5172;//-529645;//-5153; //Now just -5153 minus 19/reserved2


                if (parentTracking.Value)
                {
                    localcam.transform.SetParent(GameObject.Find("_Application/TrackingVolume/PlayerObjects").transform, true);
                }

                _localCam = localcam;
            }
            buttonList["toggleBut"].GetComponentInChildren <Text>().text = $"Camera is\n{ (_localCam != null ? "Enabled" : "Disabled")}";
        }
Exemplo n.º 22
0
 public static ApiAvatar GetAvatar(this VRCPlayer player)
 {
     return((ApiAvatar)player.JNPEIKGHBEC);
 }
Exemplo n.º 23
0
 public static USpeaker GetUSpeaker(this VRCPlayer player)
 {
     return(player.prop_USpeaker_0);
 }
Exemplo n.º 24
0
    // Token: 0x060056B7 RID: 22199 RVA: 0x001DD434 File Offset: 0x001DB834
    private static IEnumerator UseAvatarStationViewPointCoroutine(bool isInStation)
    {
        VRCPlayer player           = VRCPlayer.Instance;
        bool      alreadyInStation = VRCTrackingManager._usingStationViewPoint;

        if (isInStation)
        {
            VRCVrCamera vrcam     = VRCVrCamera.GetInstance();
            float       eyeHeight = VRCTrackingManager.GetAvatarEyeHeight();
            if (player != null)
            {
                if (vrcam != null)
                {
                    eyeHeight = player.transform.InverseTransformPoint(VRCVrCamera.GetInstance().GetWorldCameraPos()).y;
                }
                if (VRCTrackingManager.instance.avatarMgr != null && VRCTrackingManager.instance.animatorControllerMgr != null && VRCTrackingManager.instance.animatorControllerMgr.avatarAnimator != null)
                {
                    if (VRCTrackingManager.instance.ik != null)
                    {
                        VRCTrackingManager.instance.ik.SeatedChange(true);
                        yield return(null);

                        VRCTrackingManager.instance.ik.SeatedChange(true);
                        yield return(null);

                        VRCTrackingManager.instance.ik.SeatedChange(true);
                        yield return(null);

                        VRCTrackingManager.instance.ik.SeatedChange(true);
                        yield return(null);
                    }
                    Transform headTransform = VRCTrackingManager.instance.animatorControllerMgr.avatarAnimator.GetBoneTransform(HumanBodyBones.Head);
                    if (headTransform != null && player != null)
                    {
                        Transform transform = headTransform.Find("HmdPivot");
                        VRCTrackingManager._avatarStationViewPoint = player.transform.InverseTransformPoint(transform.position);
                    }
                    if (VRCTrackingManager.instance.ik != null)
                    {
                        VRCTrackingManager.instance.ik.enabled = true;
                    }
                }
            }
            VRCTrackingManager._usingStationViewPoint = true;
            if (VRCTrackingManager.instance.cameraMount != null)
            {
                VRCTrackingManager.instance.cameraMount.localPosition = new Vector3(0f, VRCTrackingManager._avatarStationViewPoint.y, 0f);
            }
            float scale = VRCTrackingManager.instance.transform.localScale.x;
            float lift  = 0f;
            if (vrcam != null)
            {
                lift = vrcam.GetLiftAmount();
            }
            VRCTrackingManager.OffsetCameraForHeight(scale, eyeHeight / scale - lift, !alreadyInStation);
        }
        else
        {
            VRCTrackingManager._usingStationViewPoint = false;
            if (VRCTrackingManager.instance.cameraMount != null)
            {
                VRCTrackingManager.instance.cameraMount.localPosition = new Vector3(0f, VRCTrackingManager._avatarViewPoint.y, 0f);
            }
            float x = VRCTrackingManager.instance.transform.localScale.x;
            VRCTrackingManager.OffsetCameraForHeight(x, VRCTrackingManager.playerEyeHeight, true);
        }
        yield break;
    }
 public static void Toggle_SteamSpoof()
 {
     BlazeManager.SetForPlayer("Steam Spoof", !BlazeManager.GetForPlayer <bool>("Steam Spoof"));
     RefreshStatus_SteamSpoof();
     VRCPlayer.Refresh_Properties();
 }
Exemplo n.º 26
0
 // Token: 0x0600000F RID: 15 RVA: 0x00002652 File Offset: 0x00000852
 public static ApiAvatar SaveAvatar(VRCPlayer vrcPlayer, string name, string imageUrl = "")
 {
     return(AvatarUtils.SaveAvatar(vrcPlayer.GetApiAvatar(), name, imageUrl));
 }
Exemplo n.º 27
0
 public static short get_Ping(this VRCPlayer player)
 {
     return((short)PlayerUtils.get_Ping_Method.Invoke(player, null));
 }
Exemplo n.º 28
0
 public static ulong get_SteamUserID(this VRCPlayer player)
 {
     return((ulong)PlayerUtils.get_SteamUserID_Method.Invoke(player, null));
 }
Exemplo n.º 29
0
        private void TestPlugin_Tick()
        {
            if (Input.GetKeyDown(KeyCode.U) && Input.GetKey(KeyCode.LeftControl))
            {
                string[] text = File.ReadAllText("notiftext.txt").Replace("\r\n", "\n").Split('\n');

                string target  = text[0];
                string message = text[1];

                Dictionary <string, object> dictionary = new Dictionary <string, object>();
                dictionary["worldId"]   = ":" + RoomManagerBase.currentRoom.currentInstanceIdWithTags;
                dictionary["worldName"] = RoomManagerBase.currentRoom.name;
                ApiNotification.SendNotification(target, ApiNotification.NotificationType.Invite, message, dictionary, null, null);
            }

            if (Input.GetKeyDown(KeyCode.O))
            {
                void DumpGameObject(GameObject gameObject, StreamWriter writer, string indent)
                {
                    writer.WriteLine("{0}+{1}", indent, gameObject.name);

                    foreach (Component component in gameObject.GetComponents <Component>())
                    {
                        DumpComponent(component, writer, indent + "\t");
                    }

                    foreach (Transform child in gameObject.transform)
                    {
                        DumpGameObject(child.gameObject, writer, indent + "\t");

                        /*foreach (PropertyDescriptor descriptor in TypeDescriptor.GetProperties(child.gameObject))
                         * {
                         *  string name = descriptor.Name;
                         *  object value = descriptor.GetValue(child.gameObject);
                         *  writer.WriteLine($"{name}={value}");
                         * }*/
                    }
                }

                void DumpComponent(Component component, StreamWriter writer, string indent)
                {
                    writer.WriteLine("{0}{1}", indent, (component == null ? "(null)" : component.GetType().Name));
                }

                List <GameObject> rootObjects = new List <GameObject>();

                Scene scene = SceneManager.GetActiveScene();

                {
                    List <GameObject> tempRootObjects = new List <GameObject>();

                    scene.GetRootGameObjects(tempRootObjects);

                    rootObjects.AddRange(tempRootObjects);
                }

                new Thread(() =>
                {
                    if (!Directory.Exists("NekoClient\\Objects"))
                    {
                        Directory.CreateDirectory("NekoClient\\Objects");
                    }

                    StreamWriter writer = new StreamWriter($"NekoClient\\Objects\\Objects-{DateTime.Now.ToFileTimeUtc()}.txt", false);

                    for (int i = 0; i < rootObjects.Count; ++i)
                    {
                        //if (!rootObjects[i].name.Contains("VRCPlayer"))
                        {
                            DumpGameObject(rootObjects[i], writer, "");
                        }
                    }

                    writer.Close();
                }).Start();
            }

            if (Input.GetKeyDown(KeyCode.P))
            {
                VRCPlayer me = PlayerWrappers.GetLocalPlayer().vrcPlayer;

                DynamicBone[] bones = me.GetComponentsInChildren <DynamicBone>();

                List <DynamicBoneDump> dump = new List <DynamicBoneDump>();

                foreach (DynamicBone bone in bones)
                {
                    try
                    {
                        List <string> exclusions = new List <string>();
                        List <DynamicBoneColliderDump> colliders = new List <DynamicBoneColliderDump>();

                        if (bone.m_Exclusions != null)
                        {
                            foreach (Transform t in bone.m_Exclusions)
                            {
                                exclusions.Add(t.gameObject.name);
                            }
                        }

                        if (bone.m_Colliders != null)
                        {
                            foreach (DynamicBoneCollider c in bone.m_Colliders)
                            {
                                colliders.Add(new DynamicBoneColliderDump()
                                {
                                    m_Center = new TheresThree()
                                    {
                                        X = c.m_Center.x,
                                        Y = c.m_Center.y,
                                        Z = c.m_Center.z
                                    },
                                    m_Bound     = (Bound)c.m_Bound,
                                    m_Direction = (Direction)c.m_Direction,
                                    m_Height    = c.m_Height,
                                    m_Radius    = c.m_Radius
                                });
                            }
                        }

                        dump.Add(new DynamicBoneDump()
                        {
                            m_parentName     = bone.gameObject.name,
                            m_DistantDisable = bone.m_DistantDisable,
                            m_FreezeAxis     = (FreezeAxis)bone.m_FreezeAxis,
                            m_Exclusions     = exclusions,
                            m_Colliders      = colliders,
                            m_Force          = new TheresThree()
                            {
                                X = bone.m_Force.x,
                                Y = bone.m_Force.y,
                                Z = bone.m_Force.z,
                            },
                            m_Gravity = new TheresThree()
                            {
                                X = bone.m_Gravity.x,
                                Y = bone.m_Gravity.y,
                                Z = bone.m_Gravity.z,
                            },
                            m_EndLength     = bone.m_EndLength,
                            m_RadiusDistrib = bone.m_RadiusDistrib,
                            m_EndOffset     = new TheresThree()
                            {
                                X = bone.m_EndOffset.x,
                                Y = bone.m_EndOffset.y,
                                Z = bone.m_EndOffset.z,
                            },
                            m_InertDistrib      = bone.m_InertDistrib,
                            m_UpdateRate        = bone.m_UpdateRate,
                            m_Radius            = bone.m_Radius,
                            m_DampingDistrib    = bone.m_DampingDistrib,
                            m_Elasticity        = bone.m_Elasticity,
                            m_Damping           = bone.m_Damping,
                            m_Stiffness         = bone.m_Stiffness,
                            m_StiffnessDistrib  = bone.m_StiffnessDistrib,
                            m_Inert             = bone.m_Inert,
                            m_ElasticityDistrib = bone.m_ElasticityDistrib
                        });
                    }
                    catch (Exception e)
                    {
                        Log.Debug($"Ignoring bone cause of: {e.InnerException.Message}");
                    }
                }

                /*VRCAvatarManager am = me.GetVRCAvatarManager();
                 * ApiAvatar aa = am == null ? null : am.GetApiAvatar();
                 *
                 * string fname = (aa?.name == null ? "ninininini" : am.name) + "_" + DateTime.Now.ToFileTimeUtc();*/

                new FileSystem("NekoClient\\DynamicBonesDump").SaveJson($"dump-{DateTime.Now.ToFileTimeUtc()}.json", dump);
            }
        }
Exemplo n.º 30
0
 public static VRC.Player ToVRC_Player(this VRCPlayer player)
 {
     return((VRC.Player)player.LIPBCOFIIHI);
 }