Ejemplo n.º 1
0
        private static void FrameStageNotify(IBaseClientDLL.FrameStage FrameStage)
        {
            if (FrameStage == IBaseClientDLL.FrameStage.RENDER_START)
            {
                Visual.FakePrime();
            }

            if (FrameStage == IBaseClientDLL.FrameStage.NET_UPDATE_POSTDATAUPDATE_START)
            {
                BasePlayer *localPlayer = Interface.ClientEntityList.GetClientEntity(Interface.VEngineClient.GetLocalPlayer)->GetPlayer;

                if (localPlayer == null)
                {
                    Interface.BaseClientDLL.FrameStageNotifyOriginal(FrameStage);

                    return;
                }

                if (ConfigManager.CSkinChanger.SkinChangerActive)
                {
                    SkinChanger.OnFrameStage(FrameStage, localPlayer);
                }
            }

            Interface.BaseClientDLL.FrameStageNotifyOriginal(FrameStage);
        }
Ejemplo n.º 2
0
        public static void OnFrameStage(IBaseClientDLL.FrameStage frameStage, BasePlayer *localPlayer)
        {
            if (!localPlayer->IsAlive)
            {
                return;
            }

            Interface.VEngineClient.GetPlayerInfo(Interface.VEngineClient.GetLocalPlayer, out IVEngineClient.PlayerInfo PlayerInfo);

            for (int Index = 0; Index < 8; Index++)
            {
                BaseCombatWeapon *Weapon = localPlayer->GetMyWeapons(Index);

                if (Weapon == null)
                {
                    continue;
                }

                if (Weapon->OriginalOwnerXuidLow != PlayerInfo.m_nXuidLow)
                {
                    continue;
                }

                if (Weapon->OriginalOwnerXuidHigh != PlayerInfo.m_nXuidHigh)
                {
                    continue;
                }

                CSkinChangerWeapon WeaponId = ConfigManager.CSkinChangerWeapons[Weapon->ItemDefinitionIndex.GetWeaponId()];

                ApplyWeapon(localPlayer, Weapon, WeaponId, PlayerInfo);
            }

            ApplyKnife(localPlayer, ref ConfigManager.CSkinChangerWeapons[35]);

            ApplyWearable(localPlayer, ref ConfigManager.CSkinChangerWeapons[36], PlayerInfo);
        }