как запретить возможность ходить и открывать чат, когда открыт imgui окно?

Iskon

Участник
Автор темы
110
18
Версия MoonLoader
.026-beta
как запретить возможность ходить и открывать чат, когда открыт imgui окно?
 

whyega52

Eblang головного мозга
Модератор
2,872
2,853
как запретить возможность ходить и открывать чат, когда открыт imgui окно?
с чатом не подскажу, но ходьба вот:

Lua:
local newFrame = imgui.OnFrame(
    function() return true end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(220, 200), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window")           
        self.LockPlayer = true
        imgui.End()
    end
)
 
  • Нравится
Реакции: Iskon

Iskon

Участник
Автор темы
110
18
с чатом не подскажу, но ходьба вот:

Lua:
local newFrame = imgui.OnFrame(
    function() return true end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(220, 200), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window")          
        self.LockPlayer = true
        imgui.End()
    end
)
как я понял, это для mimgui. На imgui как сделать?
 

whyega52

Eblang головного мозга
Модератор
2,872
2,853
а как с чатом все-таки?)
сейчас покопался, получилось вот так (блокирует F6 и T):
Lua:
addEventHandler("onWindowMessage", function(msg, wparam)
    -- тут добавляешь проверку на то, что твое окно открыто, иначе не откроешь чат
    if (msg == 0x101) or (msg == 0x102) then
        if (wparam == 116) or (wparam == 117) then
            consumeWindowMessage(true, false)
        end
    end
end)
 
  • Нравится
Реакции: Iskon

Iskon

Участник
Автор темы
110
18
с чатом не подскажу, но ходьба вот:

Lua:
local newFrame = imgui.OnFrame(
    function() return true end,
    function(self)
        imgui.SetNextWindowPos(imgui.ImVec2(sizeX / 2, sizeY / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
        imgui.SetNextWindowSize(imgui.ImVec2(220, 200), imgui.Cond.FirstUseEver)
        imgui.Begin("Main Window")          
        self.LockPlayer = true
        imgui.End()
    end
)
у меня блокируется только клавиша f6(
 

Iskon

Участник
Автор темы
110
18
На английской раскладке?
на англ открывается чат на t, но потом уже не получается закрыть клавишей t. Даже этот символ не вводится. На русской вообще открывает и закрывает
 

whyega52

Eblang головного мозга
Модератор
2,872
2,853
на англ открывается чат на t, но потом уже не получается закрыть клавишей t. Даже этот символ не вводится. На русской вообще открывает и закрывает
дело в фиксе открытия чата на русской раскладке, пока не знаю как фиксить

upd: как вариант, в бесконечном цикле вызывать sampSetChatInputEnabled(false), конечно костыль, но рабочий
 
Последнее редактирование:
  • Нравится
Реакции: Iskon

Iskon

Участник
Автор темы
110
18
дело в фиксе открытия чата на русской раскладке, пока не знаю как фиксить

upd: как вариант, в бесконечном цикле вызывать sampSetChatInputEnabled(false), конечно костыль, но рабочий
спасибо, хоть что-то
 
  • Нравится
Реакции: whyega52