Перейти к содержанию

Рекомендуемые сообщения

 
 
В 04.06.2026 в 22:49, Pavel2000 сказал:

вопрос по анимациям

к примеру вот такая логика нпс
 

  логика (Показать контент)

[logic]
active = remark

[remark]
anim = wait
on_info = {+xxx} remark@2

[remark@2]
anim = hide

заметил такой момент что когда происходит переключение с секции на секцию нужная анимация запускается с задержкой и задержка эта зависит от предыдущей анимации т.е в любом случае сначала до конца проигрывается первая анимация а только потом вторая. 
и вот вопрос: Есть ли способы принудительно запустить анимацию?

крч, вроде как следующая анимация не запустится пока до конца не отыграется прошлая. Я как-то использовал такую функцию, она принудительно останавливает анимацию, что позволит новой сразу начаться (смотрится не рвано, нормально)

Спойлер

function reset_npc_animation(actor, npc, p)
    local npc_obj

    if (p and p[1] ~= nil) then
        npc_obj = get_story_object(p[1])
    elseif (npc ~= nil) then
        npc_obj = npc
    else
        return
    end

    local state_mgr = db.storage[npc_obj:id()].state_mgr

    if state_mgr == nil then
        return
    end

    local planner = npc_obj:motivation_action_manager()
  
    state_mgr.animation:set_state(nil, true)
    state_mgr.animation:set_control()
    state_mgr.animstate:set_state(nil, true)
    state_mgr.animstate:set_control()
    state_mgr:set_state("idle", nil, nil, nil, {fast_set = true})
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
    state_mgr:update()
  
    npc_obj:set_body_state(move.standing)
    npc_obj:set_mental_state(anim.free)
end

 

 в твоем случае использовать так надо будет
 

Спойлер

[logic]
active = remark

[remark]
anim = wait
on_info = {+xxx} %=reset_npc_animation% remark@2

[remark@2]
anim = hide

 

Изменено пользователем Emmis
  • Спасибо 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования