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

Принятый ответ

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

Кроме Ескейпа можно отловить стрелки.
Вариант 1 Для этого включи синематик-режим, покажи игроку непустой диалог, поставь вейт 0 сек и скрой этот диалог.
Вариант 2 Можно короче чем с диалогом - просто enable user control сделать после включения мода.
Теперь помимо ескейпа будут ловиться стрелки.
`
ОЖИДАНИЕ РЕКЛАМЫ...
2
29
9 лет назад
Отредактирован 16GB
2
а ты функцию синиматика раскрывал глядел чё внутри? мб там можно убрать отключение контроля?
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
2
24
9 лет назад
Отредактирован Melissa
2
16GB, на-_- ты сюда этот п-_- выписал? Человек задал простой вопрос...

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

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

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

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