Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Вопрос Standing detect for lw

  • Автор темы Автор темы weep4me
  • Дата начала Дата начала
Код:
Expand Collapse Copy
//Можно детектить стенды методом чека на велосити типо
float entity_velocity = animstate->m_velocity;
if (entity_velocity > 1.1f)
{
//Дальше что тебе надо.
}
это ты ему детект мувов кинул)
должно быть
C++:
Expand Collapse Copy
float entity_velocity = entity->m_vecVelocity().Length2D();
if (entity_velocity <= 1.1f)
{
}
да и по мне, лучше юзать m_vecVelocity игрока, не из анимстейта (поправьте, если не так)
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
это ты ему детект мувов кинул)
должно быть
C++:
Expand Collapse Copy
float entity_velocity = entity->m_vecVelocity().Length2D();
if (entity_velocity <= 1.1f)
{
}
да и по мне, лучше юзать m_vecVelocity игрока, не из анимстейта (поправьте, если не так)
m_vecVelocity().Length2D
 
Дайте пж для лв стенд детект
это ты ему детект мувов кинул)
должно быть
C++:
Expand Collapse Copy
float entity_velocity = entity->m_vecVelocity().Length2D();
if (entity_velocity <= 1.1f)
{
}
да и по мне, лучше юзать m_vecVelocity игрока, не из анимстейта (поправьте, если не так)
Какой-то странное условие, не лучше будет сделать как в Setup Velocity?

if(entity_velocity <= 0.1f) // Всё что больше 0.1f, мувы
{

}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Так сложно поработать с проверками по time_since_started_moving. Исходный код сетапа велосити в интернете.
 
Шёл 2к22 год, а люди всё ещё задаются вопросом про стенды... Так же сука сложно посмотреть SetUpVelocity...

C++:
Expand Collapse Copy
if (auto animstate = player->get_animstate())
{
    if (animstate->velocity <= 0.1f)
        // Выполняешь своего мега ультра супер мега код ресольвера
}
 
Шёл 2к22 год, а люди всё ещё задаются вопросом про стенды... Так же сука сложно посмотреть SetUpVelocity...

C++:
Expand Collapse Copy
if (auto animstate = player->get_animstate())
{
    if (animstate->velocity <= 0.1f)
        // Выполняешь своего мега ультра супер мега код ресольвера
}
Фейквалк делает брррр. Нужно еще некоторые штуки юзать для точного разделения стендов и мувов.
 
Какой-то странное условие, не лучше будет сделать как в Setup Velocity?

if(entity_velocity <= 0.1f) // Всё что больше 0.1f, мувы
{

}
в таком случае, он иногда когда чел стоит будет детектить это как мувы ( микромувы )
 
Вообще, как сказали сверху, а также юзает пандора в3, это 3 лейер:
C++:
Expand Collapse Copy
data->m_extending = record->m_pLayers[ 3 ].m_cycle == 0.f && record->m_pLayers[ 3 ].m_weight == 0.f;
Но если @Feranotchet говорит о других значениях и тем более другом методе, в чём проблема скинуть его?
Или это очередные слова от очередного псевдокодера который НИТАКОЙ КАК ВСЕ и знает о паблик методах, но не может сказать о них из за каких либо причин?
 
Вообще, как сказали сверху, а также юзает пандора в3, это 3 лейер:
C++:
Expand Collapse Copy
data->m_extending = record->m_pLayers[ 3 ].m_cycle == 0.f && record->m_pLayers[ 3 ].m_weight == 0.f;
Но если @Feranotchet говорит о других значениях и тем более другом методе, в чём проблема скинуть его?
Или это очередные слова от очередного псевдокодера который НИТАКОЙ КАК ВСЕ и знает о паблик методах, но не может сказать о них из за каких либо причин?
ну наверное потому что 3 леер впринципе имеет всегда 0 вес в выходной анимации и 0 цикл проигрывания, который меняется только при проигрывании подтипа анимации ACT_CSGO_IDLE_TURN_BALANCEADJUST или ACT_CSGO_IDLE_ADJUST_STOPPEDMOVING. Мне кажется что детектить стенды можно с помощью измененного кода того же сетапа велосити, к примеру:

C++:
Expand Collapse Copy
if (m_flSpeed <= 0.1f)
    {
        m_bStoppedMoving = m_flTimeSinceStoppedMoving >= 0.0f;
    }
 
C++:
Expand Collapse Copy
if (m_flSpeed <= 0.1f)
    {
        m_bStoppedMoving = m_flTimeSinceStoppedMoving >= 0.0f;
    }
Шо это блять, мне аж хуёво стало.
Впервые вижу такую реализацию, в которой из понятности ничего кроме m_bStoppedMoving =
ну наверное потому что 3 леер впринципе имеет всегда 0 вес и 0 цикл, который меняется только при проигрывании анимации ACT_CSGO_IDLE_TURN_BALANCEADJUST или ACT_CSGO_IDLE_ADJUST_STOPPEDMOVING.
А, ого.
Вот это уже что-то да может дать, хоть и не в полной мере для данной темы. Возможно, в будущем постараюсь найти больше инфы, учитывая различные сурсы и закину на югейм.
 
Шо это блять, мне аж хуёво стало.
Впервые вижу такую реализацию, в которой из понятности ничего кроме m_bStoppedMoving =

А, ого.
Вот это уже что-то да может дать, хоть и не в полной мере для данной темы. Возможно, в будущем постараюсь найти больше инфы, учитывая различные сурсы и закину на югейм.
в анимстейте игры есть такой параметр как m_flTimeSinceStoppedMoving который показывает прошедшее время с момента остановки игрока. а m_flSpeed это обычный велосити с аним стейта. Что касаемо инфы по леерам, то ее в паблике увы не так много. Нужно просто внимательно посмотреть на сетап велосити сервера, и подумать на тему того, как впринципе работают анимации в играх. И тогда магия лееров исчезнет, останутся лишь факты и сведения. :roflanEbalo:
 
в анимстейте игры есть такой параметр как m_flTimeSinceStoppedMoving который показывает прошедшее время с момента остановки игрока. а m_flSpeed это обычный велосити с аним стейта. Что касаемо инфы по леерам, то ее в паблике увы не так много. Нужно просто внимательно посмотреть на сетап велосити сервера, и подумать на тему того, как впринципе работают анимации в играх. И тогда магия лееров исчезнет, останутся лишь факты и сведения. :roflanEbalo:
Вот это деду нравится, вот за это +rep
Насчёт лееров, то достаточно после сессии 2-3 месяца, и на форуме постараюсь описать всю инфу об этом. Также, не стоит забывать насколько я умею добывать информацию :CoolCat:
 
Назад
Сверху Снизу