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); } }
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)); } } } }
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); } } } }
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 }