Вопрос Resolver PlayBackRate

Начинающий
Статус
Оффлайн
Регистрация
5 Июн 2021
Сообщения
100
Реакции[?]
6
Поинты[?]
1K
How should i setup playbackrate for my resolver? i am doing it like this and i know its very wrong but its best i got, heres example:

Код:
            for (int i = ROTATE_FIRST; i < ROTATE_COUNT; i++)
            {
                entity->invalidateBoneCache();
                std::array<AnimationLayer, 13> BackupLayers{ };
                memcpy(BackupLayers.data(), player.layers.data(), entity->getAnimationLayersCount() * sizeof(AnimationLayer));
                switch (i) // we dont need to do switch statement but its easier for me
                {
                case ROTATE_FIRST:                 
                    entity->setupBones(player.resolver_matrix[1].data(), MAXSTUDIOBONES, BONE_USED_BY_ANYTHING, entity->simulationTime());

                    memcpy(player.layers.data(), BackupLayers.data(), entity->getAnimationLayersCount() * sizeof(AnimationLayer));

                    player.ResolverPlaybackRates.at(1) = player.layers[6].playbackRate;
                    break;
                case ROTATE_SECOND:

                    entity->setupBones(player.resolver_matrix[2].data(), MAXSTUDIOBONES, BONE_USED_BY_ANYTHING, entity->simulationTime());

                    memcpy(player.layers.data(), BackupLayers.data(), entity->getAnimationLayersCount() * sizeof(AnimationLayer));

                    player.ResolverPlaybackRates.at(2) = player.layers[6].playbackRate;
                    break;
                case ROTATE_THIRD:
                    entity->setupBones(player.resolver_matrix[3].data(), MAXSTUDIOBONES, BONE_USED_BY_ANYTHING, entity->simulationTime());

                    memcpy(player.layers.data(), BackupLayers.data(), entity->getAnimationLayersCount() * sizeof(AnimationLayer));

                    player.ResolverPlaybackRates.at(3) = player.layers[6].playbackRate;
                    break;
                }
            }
 
get good get legendware
Участник
Статус
Оффлайн
Регистрация
22 Сен 2020
Сообщения
434
Реакции[?]
200
Поинты[?]
47K
here's my advice

check if player is animating

rotate server
rotate maximum right
rotate maximum left
rotate minimum right
rotate minimum left

simulate and compare all of that and calculate your playback rate on the 6th layer of animation system


if not animating

switch (missed_shots[idx] % 3)
case 1:
+60
case 2:
-60


enjoy skeet premium resolver ez $$$
 
Модератор раздела «Создание читов CS2»
Забаненный
Статус
Оффлайн
Регистрация
21 Июн 2022
Сообщения
148
Реакции[?]
366
Поинты[?]
155K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
I looked at your code, and I strongly doubt that you wrote it yourself, although there are such gross code misstakes, I recommend that you learn C++ first.
If this isn't your code, just start from scratch, you really shouldn't be pasting something like this.
Also you can no longer rely solely on animation unlike 2020, but animation should definitely be one of the factors you use to extract real position information.
 
Содер
Участник
Статус
Оффлайн
Регистрация
23 Мар 2021
Сообщения
571
Реакции[?]
227
Поинты[?]
17K
Чтобы установить скорость воспроизведения, тебе нужно изменить поле playbackRate структуры AnimationLayer для соответствующего слоя. Похоже, что ты копируете исходные анимационные слои в резервный массив, модифицируете слои анимации и затем снова копируете резервные слои. Это не нужно.

Вот пример того, как ты можете установить скорость воспроизведения для определенного слоя:

C++:
AnimationLayer& layer = player.layers[6];
layer.playbackRate = desiredPlaybackRate;
Затем ты можете использовать этот измененный AnimationLayer при вызове entity->setupBones(), чтобы обновить матрицы костей сущности.

Стоит также учесть, что в большинстве случаев лучше избегать использования оператора switch или ряда операторов if для обработки различных случаев. Вместо этого можно использовать массив или отображение (map) для хранения желаемых скоростей воспроизведения и использовать индекс цикла в качестве ключа для поиска нужного значения. Это сделает ваш код более читаемым и поддерживаемым.
 
Сверху Снизу