You can force update, replace current paint check with current weapon name. This is how I am doing it in my external and it works every time.
Code:currentPaintKit = mem.ReadMemory<DWORD>(currentWeaponID + offsets.m_nFallbackPaintKit); fallbackPaint = setPaintKit(weaponID); if (Player.currentWeaponEntity == weaponID && fallbackPaint != curPaint) toggle.ForceUpdate = true;Code:if(toggle.ForceUpdate) mem.WriteMemory<int>(var.clientState + offsets.clientstate_delta_ticks, -1);