Единственное, что у меня получается отловить, это нажатие на Escape. Возможно ли отловить что-то ещё? Если да, то что и как?

16GB, на-_- ты сюда этот п-_- выписал? Человек задал простой вопрос...

Кроме Ескейпа можно отловить стрелки.
Вариант 1 Для этого включи синематик-режим, покажи игроку непустой диалог, поставь вейт 0 сек и скрой этот диалог.
Вариант 2 Можно короче чем с диалогом - просто enable user control сделать после включения мода.
Теперь помимо ескейпа будут ловиться стрелки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
28
а ты функцию синиматика раскрывал глядел чё внутри? мб там можно убрать отключение контроля?
function CinematicModeExBJ takes boolean cineMode, force forForce, real interfaceFadeTime returns nothing
    // If the game hasn't started yet, perform interface fades immediately
    if (not bj_gameStarted) then
        set interfaceFadeTime = 0
    endif

    if (cineMode) then
        // Save the UI state so that we can restore it later.
        if (not bj_cineModeAlreadyIn) then
            set bj_cineModeAlreadyIn = true
            set bj_cineModePriorSpeed = GetGameSpeed()
            set bj_cineModePriorFogSetting = IsFogEnabled()
            set bj_cineModePriorMaskSetting = IsFogMaskEnabled()
            set bj_cineModePriorDawnDusk = IsDawnDuskEnabled()
            set bj_cineModeSavedSeed = GetRandomInt(0, 1000000)
        endif

        // Perform local changes
        if (IsPlayerInForce(GetLocalPlayer(), forForce)) then
            // Use only local code (no net traffic) within this block to avoid desyncs.
            call ClearTextMessages()
            call ShowInterface(false, interfaceFadeTime)
            call EnableUserControl(false)
            call EnableOcclusion(false)
            call SetCineModeVolumeGroupsBJ()
        endif

        // Perform global changes
        call SetGameSpeed(bj_CINEMODE_GAMESPEED)
        call SetMapFlag(MAP_LOCK_SPEED, true)
        call FogMaskEnable(false)
        call FogEnable(false)
        call EnableWorldFogBoundary(false)
        call EnableDawnDusk(false)

        // Use a fixed random seed, so that cinematics play consistently.
        call SetRandomSeed(0)
    else
        set bj_cineModeAlreadyIn = false

        // Perform local changes
        if (IsPlayerInForce(GetLocalPlayer(), forForce)) then
            // Use only local code (no net traffic) within this block to avoid desyncs.
            call ShowInterface(true, interfaceFadeTime)
            call EnableUserControl(true)
            call EnableOcclusion(true)
            call VolumeGroupReset()
            call EndThematicMusic()
            call CameraResetSmoothingFactorBJ()
        endif

        // Perform global changes
        call SetMapFlag(MAP_LOCK_SPEED, false)
        call SetGameSpeed(bj_cineModePriorSpeed)
        call FogMaskEnable(bj_cineModePriorMaskSetting)
        call FogEnable(bj_cineModePriorFogSetting)
        call EnableWorldFogBoundary(true)
        call EnableDawnDusk(bj_cineModePriorDawnDusk)
        call SetRandomSeed(bj_cineModeSavedSeed)
    endif
endfunction
24
16GB, на-_- ты сюда этот п-_- выписал? Человек задал простой вопрос...

Кроме Ескейпа можно отловить стрелки.
Вариант 1 Для этого включи синематик-режим, покажи игроку непустой диалог, поставь вейт 0 сек и скрой этот диалог.
Вариант 2 Можно короче чем с диалогом - просто enable user control сделать после включения мода.
Теперь помимо ескейпа будут ловиться стрелки.
1 пункт от Кет: 1.1 (ненормативная лексика)
Принятый ответ
25
Melissa, 16GB дал простой ответ. Если не выключать контроль во время синематика можно будет отловить все стандартные действия. Итог?
24
Это не простой ответ, это раз. Простой ответ - мой.
Во вторых не можно будет, а можно было БЫ. Но нельзя. Ты можешь засветить курсор и, вероятно, ловить стрелки включив контроль после включения син-режима. Но клики будут бесполезны. То же самое вообщем-то и в моём способе полуится...

Нет если ты ещё и леттербокс выключишь вместе с включением юзер-контроля - то всё просто вернётся и синематик-мода попросту не будет хД
25
Melissa, одумайся смертный!
Скрываем интерфейс, выбираем юнита - можно отловить нажатие некоторых клавишь + клик ПКМ, а это уже не мало. Можно поставить огромного юнита и отслеживать клик ЛКМ? Тебе мало?
А все чисто изза того что не выключен контроль.
24

Короче можно короче чем с диалогом - просто enable user control сделать после включения мода

Ancient, пример в студию, я посмотрю как у тебя нажимается
Если примера не будет то смотри мои слова выше
Melissa:
Но клики будут бесполезны
Чтобы оставить комментарий, пожалуйста, войдите на сайт.