help lua

Lightcrash

Участник
Автор темы
71
11
Нарушение правил раздела
Версия MoonLoader
.026-beta
Приветствую, хотелось бы получить немного помощи/объяснение, как в мимгуи сделать inputtext куда можно будет вводить команды, и после этого отправлять их в чат по нажатию кнопки?
 
Решение
вместо sampAddChatMessage на sampSendChat?
да, вот маленький пример
Lua:
local imgui = require 'mimgui'
local ffi = require 'ffi'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local WinState = imgui.new.bool()
local forInput = imgui.new.char[256]()

imgui.OnFrame(function() return WinState[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(245, 270), imgui.Cond.Always)
    imgui.Begin('##Window', WinState, imgui.WindowFlags.NoResize)
    imgui.InputText('Input',forInput,256)
    if imgui.Button(u8'Отправить ') then
        sampSendChat('/'..u8:decode(ffi.string(forInput)))...

MLycoris

Режим чтения
Проверенный
1,825
1,882
 
  • Нравится
Реакции: YarikVL и Lightcrash

Lightcrash

Участник
Автор темы
71
11
чуть не совсем то, там выводится оно в чат в виде сообщения для тебя, а мне нужно чтобы отправлялась командой на сервер? или тоже самое можно сделать только вместо sampAddChatMessage на sampSendChat?
 

MLycoris

Режим чтения
Проверенный
1,825
1,882
вместо sampAddChatMessage на sampSendChat?
да, вот маленький пример
Lua:
local imgui = require 'mimgui'
local ffi = require 'ffi'
local encoding = require 'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8

local WinState = imgui.new.bool()
local forInput = imgui.new.char[256]()

imgui.OnFrame(function() return WinState[0] end, function(player)
    imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
    imgui.SetNextWindowSize(imgui.ImVec2(245, 270), imgui.Cond.Always)
    imgui.Begin('##Window', WinState, imgui.WindowFlags.NoResize)
    imgui.InputText('Input',forInput,256)
    if imgui.Button(u8'Отправить ') then
        sampSendChat('/'..u8:decode(ffi.string(forInput)))
    end
    imgui.End()
end)

function main()
    sampRegisterChatCommand('cmd', function() WinState[0] = not WinState[0] end)
    wait(-1)
end
 
  • Нравится
Реакции: VanoKLR