- 81
- 1
- Версия MoonLoader
- Другое
Ребят, хелп.
Есть такой код (ниже будет). Суть такая, что я в ПЕРВОМ поле ввожу команду (для скажем так бинда), потом сохраняю и эта команда должна примениться, но не применяется (остается старая).
Перезагружаю скрипт - применяется. Как сделать грамотно это, чтобы применялось сразу, а не приходилось рестартать скрипт?
Знаю, что надо отрегать команду сначала, но не понимаю как. Делал так, но не выходило все равно. Помогите =)
Делал так:
============================================================================================================
Код отрывками.
Есть такой код (ниже будет). Суть такая, что я в ПЕРВОМ поле ввожу команду (для скажем так бинда), потом сохраняю и эта команда должна примениться, но не применяется (остается старая).
Перезагружаю скрипт - применяется. Как сделать грамотно это, чтобы применялось сразу, а не приходилось рестартать скрипт?
Знаю, что надо отрегать команду сначала, но не понимаю как. Делал так, но не выходило все равно. Помогите =)
Делал так:
Lua:
if imgui.Button(u8'Сохранить##1') then
sampUnregisterChatCommand(cfg.PoleOne.CMD)
cfg.PoleOne.CMD = u8:decode(text1_buffer .v)
cfg.PoleTwo.Time = u8:decode(text2_buffer .v)
cfg.PoleThree.Text = u8:decode(text3_buffer .v)
inicfg.save(cfg, "Ravshan\\settings.ini")
sampAddChatMessage('Сохранено.', -1)
end
Код отрывками.
Lua:
local Data = { ----- CFG это типо окей, да?
PoleOne = {
CMD = "cmd",
},
PoleTwo = {
Time = "20",
},
PoleThree = {
Text = "Test",
},
}
------
text1_buffer = imgui.ImBuffer(u8(cfg.PoleOne.CMD), 256)
text2_buffer = imgui.ImBuffer(u8(cfg.PoleTwo.Time), 256)
text3_buffer = imgui.ImBuffer(u8(cfg.PoleThree.Text), 256)
------
imgui.Text(u8'Команда: Время: Причина:')
imgui.PushItemWidth(60)
if imgui.InputText(u8"##Команда мата", text1_buffer) then
imgui.PopItemWidth()
end
imgui.SameLine(0,7)
imgui.PushItemWidth(60)
if imgui.InputText(u8"##время мата", text2_buffer) then
imgui.PopItemWidth()
end
imgui.SameLine(0,7)
imgui.PushItemWidth(150)
if imgui.InputText(u8"##Текст мата", text3_buffer) then
imgui.PopItemWidth()
end
imgui.SameLine(0,5)
if imgui.Button(u8'Сохранить##1') then
cfg.PoleOne.CMD = u8:decode(text1_buffer.v)
cfg.PoleTwo.Time = u8:decode(text2_buffer.v)
cfg.PoleThree.Text = u8:decode(text3_buffer.v)
inicfg.save(cfg, "Ravshan\\settings.ini")
sampAddChatMessage('Сохранено.', -1)
end
------
sampRegisterChatCommand(cfg.PoleOne.CMD, test) --- тут эта команда по сути должна применяться
------
function test(pam)
local id = pam:match('(%d+)')
if id then
if sampIsPlayerConnected(id) then
sampSendChat('/me ТЕСТ: '..id..' '..cfg.PoleTwo.Time..' '..cfg.PoleThree.Text)
else
sampAddChatMessage('Нету игрока.', -1)
end
else
sampAddChatMessage('Не верно что-то.', -1)
end
end
Последнее редактирование: