Я делаю KnifeChanger на CS GO, на языке c#, при установке ножа, через каждые 2-3 секунды у ножа самопроизвольно воспроизводится анимация ножа будто я его беру заново в руки, и еще анимация удара не как у ножа которого я ставлю, кто поможет буду очень рад, так же если нужно могу отправить гифку какая именно анимация воспроизводится произвольно. нож ставится (Butterfly) Вот код когда ставлю нож: public void kiii() { while(cancelTokenSourceKnifeChanger.IsCancellationRequested == false) { //ViewModelEntityModelIndex = 840; if (!Engine.InGame) { Thread.Sleep(Globals.IdleWait); shouldReloadModelIndex = true; continue; } if (shouldReloadModelIndex) { falchionModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_falchion_advanced.mdl"); cssModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_css.mdl"); pushModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_push.mdl"); bowieModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_survival_bowie.mdl"); ursusModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_ursus.mdl"); cordModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_cord.mdl"); canisModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_canis.mdl"); butterflyModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_butterfly.mdl"); outdoorModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_outdoor.mdl"); skeletonModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_skeleton.mdl"); stilettoModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_stiletto.mdl"); widowmakerModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_widowmaker.mdl"); shouldReloadModelIndex = false; } CBaseCombatWeapon currentWeapon = weaponList.ActiveWeapon; //var gs = Memory.Read<int>(Offsets.dwLocalPlayer + Offsets.m_hMyWeapons + 0 * 0x4) & 0xFFF; //int CurrentWeaponSkin = Memory.Read<int>(Offsets.dwEntityList + Offsets.m_nFallbackPaintKit); for (int k = 0; k <= 3; k++) { if (weaponList.ActiveWeapon.IsKnife()) { int WeapEnt = Memory.Read<int>(Offsets.dwLocalPlayer + Offsets.m_hMyWeapons + k * 0x4) & 0xFFF; int model = Memory.Read<int>(ViewModelBase + Offsets.m_nModelIndex); Memory.Write<int>(ViewModelBase + Offsets.m_nModelIndex, 840); //Ставим ножик //int weaponBase = Memory.Read<int>(ViewModelBase + Offsets.dwEntityList + (WeapEnt - 1) * 0x10); //Memory.Write<int>(currentWeapon. + Offsets.m_nFallbackPaintKit, 38); //ставим скин } if (currentWeapon.ViewModelEntityModelIndex == butterflyModelIndex) == //если бабочка то применяем фикс анимаций { switch (currentWeapon.Sequence) { case (int)Sequence.SEQUENCE_DEFAULT_DRAW: currentWeapon.Sequence = RandomSequence((int)Sequence.SEQUENCE_BUTTERFLY_DRAW, (int)Sequence.SEQUENCE_BUTTERFLY_DRAW2); break; case (int)Sequence.SEQUENCE_DEFAULT_LOOKAT01: currentWeapon.Sequence = RandomSequence((int)Sequence.SEQUENCE_BUTTERFLY_LOOKAT01, (int)Sequence.SEQUENCE_BUTTERFLY_LOOKAT03); break; } } else if (currentWeapon.ViewModelEntityModelIndex == widowmakerModelIndex) { switch (currentWeapon.Sequence) { case (int)Sequence.SEQUENCE_DEFAULT_LOOKAT01: currentWeapon.Sequence = RandomSequence(14, 15); break; } } } Memory.Write<int>(Memory.clientBase + 0x174, -1);//Обновляемся //Thread.Sleep(TimeSpan.FromMilliseconds(1)); } } public static int RandomSequence(int min, int max) { Random random = new Random(); //var rnd = random.Next(min,max); return random.Next(min, max); //return (max - min + 1) + min; //return random.Next(min, max) % (max - min) + 1; } C# public void kiii() { while(cancelTokenSourceKnifeChanger.IsCancellationRequested == false) { //ViewModelEntityModelIndex = 840; if (!Engine.InGame) { Thread.Sleep(Globals.IdleWait); shouldReloadModelIndex = true; continue; } if (shouldReloadModelIndex) { falchionModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_falchion_advanced.mdl"); cssModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_css.mdl"); pushModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_push.mdl"); bowieModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_survival_bowie.mdl"); ursusModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_ursus.mdl"); cordModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_cord.mdl"); canisModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_canis.mdl"); butterflyModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_butterfly.mdl"); outdoorModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_outdoor.mdl"); skeletonModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_skeleton.mdl"); stilettoModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_stiletto.mdl"); widowmakerModelIndex = Engine.GetModelIndexByName("models/weapons/v_knife_widowmaker.mdl"); shouldReloadModelIndex = false; } CBaseCombatWeapon currentWeapon = weaponList.ActiveWeapon; //var gs = Memory.Read<int>(Offsets.dwLocalPlayer + Offsets.m_hMyWeapons + 0 * 0x4) & 0xFFF; //int CurrentWeaponSkin = Memory.Read<int>(Offsets.dwEntityList + Offsets.m_nFallbackPaintKit); for (int k = 0; k <= 3; k++) { if (weaponList.ActiveWeapon.IsKnife()) { int WeapEnt = Memory.Read<int>(Offsets.dwLocalPlayer + Offsets.m_hMyWeapons + k * 0x4) & 0xFFF; int model = Memory.Read<int>(ViewModelBase + Offsets.m_nModelIndex); Memory.Write<int>(ViewModelBase + Offsets.m_nModelIndex, 840); //Ставим ножик //int weaponBase = Memory.Read<int>(ViewModelBase + Offsets.dwEntityList + (WeapEnt - 1) * 0x10); //Memory.Write<int>(currentWeapon. + Offsets.m_nFallbackPaintKit, 38); //ставим скин } if (currentWeapon.ViewModelEntityModelIndex == butterflyModelIndex) == //если бабочка то применяем фикс анимаций { switch (currentWeapon.Sequence) { case (int)Sequence.SEQUENCE_DEFAULT_DRAW: currentWeapon.Sequence = RandomSequence((int)Sequence.SEQUENCE_BUTTERFLY_DRAW, (int)Sequence.SEQUENCE_BUTTERFLY_DRAW2); break; case (int)Sequence.SEQUENCE_DEFAULT_LOOKAT01: currentWeapon.Sequence = RandomSequence((int)Sequence.SEQUENCE_BUTTERFLY_LOOKAT01, (int)Sequence.SEQUENCE_BUTTERFLY_LOOKAT03); break; } } else if (currentWeapon.ViewModelEntityModelIndex == widowmakerModelIndex) { switch (currentWeapon.Sequence) { case (int)Sequence.SEQUENCE_DEFAULT_LOOKAT01: currentWeapon.Sequence = RandomSequence(14, 15); break; } } } Memory.Write<int>(Memory.clientBase + 0x174, -1);//Обновляемся //Thread.Sleep(TimeSpan.FromMilliseconds(1)); } } public static int RandomSequence(int min, int max) { Random random = new Random(); //var rnd = random.Next(min,max); return random.Next(min, max); //return (max - min + 1) + min; //return random.Next(min, max) % (max - min) + 1; }