예제 #1
0
 public static void HideBombTrajectory()
 {
     if (ClientStateBase != 0)
     {
         CylMem.CWrite <byte>(Modules.ClientDLLAdress + sv_grenade_trajectory, (byte)112);
     }
     else
     {
         ConfigureClientState();
         CylMem.CWrite <byte>(Modules.ClientDLLAdress + sv_grenade_trajectory, (byte)112);
     }
 }
예제 #2
0
 public static void RunNoSmokePanorama()
 {
     if (CheatStatus.NoSmokeActive)
     {
         for (int i = 0; i < 512; i++)
         {
             int EntBase = CylMem.ReadInt(Modules.ClientDLLAdress + dwEntityList + i * 0x10);
             if (EntBase == 0)
             {
                 continue;
             }
             if (EngineClient.GetClassId(EntBase) == ClassID.CSmokeGrenadeProjectile)
             {
                 CylMem.CWrite <Vector3>(EntBase + m_vecOrigin, new Vector3(999, 999, 999));
             }
         }
     }
 }
예제 #3
0
        public static void ChangeSkin(string CustomName, int PaintKit, EntityQuality EntityQuality, int StatTrack)
        {
            SkinStruct WeaponSkin = new SkinStruct
            {
                CustomName         = CustomName,
                PaintKit           = PaintKit,
                StatTrack          = StatTrack,
                EntityQualityIndex = EntityQuality,
                Wear = 0.0001f,
                Seed = 0
            };

            for (int i = 0; i < 8; i++)
            {
                WeaponBase = CylMem.ReadInt(CLocalPlayer.LocalPlayerBase + m_hMyWeapons + i * 0x4) & 0xFFF;
                WeaponBase = CylMem.ReadInt((int)Modules.ClientDLLAdress + dwEntityList + (WeaponBase - 1) * 0x10);

                if (WeaponSkin.PaintKit != 0)
                {
                    if (CylMem.ReadInt(WeaponBase + m_iItemIDHigh) != -1)
                    {
                        CylMem.WriteInt(WeaponBase + m_iItemIDHigh, -1);
                    }

                    CylMem.WriteInt(WeaponBase + m_OriginalOwnerXuidLow, 0);
                    CylMem.WriteInt(WeaponBase + m_OriginalOwnerXuidHigh, 0);
                    CylMem.WriteInt(WeaponBase + m_nFallbackPaintKit, WeaponSkin.PaintKit);
                    CylMem.WriteInt(WeaponBase + m_nFallbackSeed, WeaponSkin.Seed);
                    CylMem.WriteInt(WeaponBase + m_nFallbackStatTrak, WeaponSkin.StatTrack);
                    CylMem.WriteFloat(WeaponBase + m_flFallbackWear, WeaponSkin.Wear);
                    CylMem.CWrite <char[]>(WeaponBase + m_szCustomName, WeaponSkin.CustomName.ToCharArray());

                    if (StatTrack >= 0)
                    {
                        CylMem.WriteInt(WeaponBase + m_iEntityQuality, (int)WeaponSkin.EntityQualityIndex);
                    }
                    else
                    {
                        CylMem.WriteInt(WeaponBase + m_iEntityQuality, 0);
                    }
                }
            }
        }
예제 #4
0
        public static void ChangeViewAngles(Vector3 Angles, bool CanShoot)
        {
            //read pointers to commands buffer and clientstate
            CInput Input       = CylMem.CRead2 <CInput>(Modules.ClientDLLAdress + dwInput);
            int    ClientState = CylMem.ReadInt(Modules.EngineDLLAdress + dwClientState);

            //stop sending packets
            EngineClient.SendPackets = false;

            int DesiredCmd = CylMem.ReadInt(ClientState + clientstate_last_outgoing_command); //read the last outgoing command

            DesiredCmd += 2;                                                                  //+1 current one +2 incomming one

            //calculate addresses of Icomming cmd and current cmd + verified, 150 is the size of the commands buffer
            int IncommingUserCmd       = Input.Commands + (DesiredCmd % 150) * Marshal.SizeOf(typeof(CUserCmd));
            int CurrentUserCmd         = Input.Commands + ((DesiredCmd - 1) % 150) * Marshal.SizeOf(typeof(CUserCmd));
            int VerifiedCurrentUserCmd = Input.VerifiedCommands + ((DesiredCmd - 1) % 150) * Marshal.SizeOf(typeof(CVerifiedUserCmd));

            int CmdNumber = 0;

            while (CmdNumber < DesiredCmd) //now we wait until is the right time to hit, dont sleep! the wait time is really short, in fact it doesnt consume cpu, +0x04 skips vft and reads the cmd number
            {
                CmdNumber = CylMem.ReadInt(IncommingUserCmd + 0x04);
            }

            CUserCmd CMD = CylMem.CRead2 <CUserCmd>(CurrentUserCmd); //we hack this one, read it

            CMD.ViewAngles.X = Angles.X;                             //set new view angles
            CMD.ViewAngles.Y = Angles.Y;

            if (CanShoot) //trigger shoot button if we set CanShoot to true
            {
                CMD.Buttons |= 1 << 0;
            }

            //when you are done write em back
            CylMem.CWrite <CUserCmd>(CurrentUserCmd, CMD);
            CylMem.CWrite <CUserCmd>(VerifiedCurrentUserCmd, CMD); //dont bother calculating crc (accualy you can do it to make vac happy and not get banned easilly lol)

            EngineClient.SendPackets = true;                       //restore sending packets
        }