Привет, я делаю свой knife changer cs go на языке c#, и когда устанавливаются некоторые ножи, например Butterfly, через каждые 2-3 секунды проявляется сама анимация как будто я беру нож в руки заного и заного, но при этом я нож не сменяю на другое оружие, буду благодарен кто поможет
Код:
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;
}