- 297
- 43
- Версия MoonLoader
- Другое
приветствую, столкнулся с рядом проблем при написании скрипта, сейчас расскажу.
1. Ошибки в сохранении:
Скрипт будет использовать несколько файлов сохранения (ini) и читать оттуда информацию, в коде я сделал так:
теперь сама суть проблемы в том, что во второй файл значения сохраняются, но не читается в дальнейшем, а выгядет это так :
в первой файле, секции "commands" быть не должно, что и во втором файле не должно быть "main", вероятно из за этого не сохраняется нормально, помогите пожалуйста
2. Конвертация SliderFloat в секунды (уже решил, просто в использовании переменной добавил *1000)
Мне нужно сделать так, чтобы SliderFloat был в секундах, то есть:
На слайдере написано что, задержка рп отыгровок 1.500 (полторы секунды), но на деле это 1 миллисекунда, и мне нужно перевести это в секунды (сверху есть под слайдера)
3. Кривые столбы в мимгуи
Делал в мимгуи таблицу команд и добавлял к ним описания, но когда я пишу что то во второй колонке, то все получается очень криво, а сделать ровно никак не могу, хелп
1. Ошибки в сохранении:
Скрипт будет использовать несколько файлов сохранения (ini) и читать оттуда информацию, в коде я сделал так:
Lua:
local ini = inicfg.load({
main = { -- основные настройки
f_name = "",
rang = "",
phone = 0,
frak = "",
},
commands = { --настройки для команд
delay = 1.200,
cmd_id_1 = true,
cmd_id_2 = true,
cmd_id_3 = true,
cmd_id_4 = true,
cmd_id_5 = true,
cmd_id_6 = true,
cmd_id_7 = true,
cmd_id_8 = true,
cmd_id_9 = true,
cmd_id_10 = true,
cmd_id_11 = true,
cmd_id_12 = true,
cmd_id_13 = true,
cmd_id_14 = true,
cmd_id_15 = true,
cmd_id_16 = true,
cmd_id_17 = true,
cmd_id_18 = true,
cmd_id_19 = true,
cmd_id_20 = true,
cmd_id_21 = true,
cmd_id_22 = true,
cmd_id_23 = true,
cmd_id_24 = true,
cmd_id_25 = true
},
}, "Example/setting.ini") -- тут хз в какой основной файл сохранять, поэтому использую пока один
local del = new.float(ini.commands.delay) -- слайдер для задержки рп отыгровок
local Nickname = new.bool[256](u8(ini.main.f_name)) -- инпут текст
if imgui.InputText("##player_name", Nickname, 256) then
ini.main.f_name = u8:decode(ffi.string(Nickname))
inicfg.save(ini, "Example/setting.ini") -- сохранение идёт в первый файл "setting.ini"
end
if imgui.SliderFloat("##delay_cmd", del, 1.000, 5.000) then
ini.commands.delay = del[0]
inicfg.save(ini, "MVDHelp/commands.ini") -- сохранение слайдера идёт уже в другой файл "commands.ini"
end
setting.ini файл:
[main]
frak =
f_name = Test
rang =
phone = 0
[commands]
cmd_id_2 = true
cmd_id_3 = true
cmd_id_4 = true
cmd_id_5 = true
cmd_id_6 = true
cmd_id_7 = true
cmd_id_8 = true
cmd_id_9 = true
cmd_id_10 = true
cmd_id_11 = true
cmd_id_12 = true
cmd_id_13 = true
cmd_id_14 = true
cmd_id_15 = true
cmd_id_16 = true
cmd_id_17 = true
cmd_id_18 = true
cmd_id_19 = true
cmd_id_20 = true
cmd_id_21 = true
cmd_id_22 = true
cmd_id_23 = true
cmd_id_24 = true
cmd_id_25 = true
delay = 1.2
cmd_id_1 = true
commands.ini файл:
[commands]
cmd_id_21 = true
cmd_id_22 = true
cmd_id_23 = true
cmd_id_24 = true
cmd_id_25 = true
delay = 3.6459999084473
cmd_id_1 = true
cmd_id_2 = true
cmd_id_3 = true
cmd_id_4 = true
cmd_id_5 = true
cmd_id_6 = true
cmd_id_7 = true
cmd_id_8 = true
cmd_id_9 = true
cmd_id_10 = true
cmd_id_11 = true
cmd_id_12 = true
cmd_id_13 = true
cmd_id_14 = true
cmd_id_15 = true
cmd_id_16 = true
cmd_id_17 = true
cmd_id_18 = true
cmd_id_19 = true
cmd_id_20 = true
[main]
phone = 0
frak =
f_name =
rang =
2. Конвертация SliderFloat в секунды (уже решил, просто в использовании переменной добавил *1000)
Мне нужно сделать так, чтобы SliderFloat был в секундах, то есть:
На слайдере написано что, задержка рп отыгровок 1.500 (полторы секунды), но на деле это 1 миллисекунда, и мне нужно перевести это в секунды (сверху есть под слайдера)
3. Кривые столбы в мимгуи
Делал в мимгуи таблицу команд и добавлял к ним описания, но когда я пишу что то во второй колонке, то все получается очень криво, а сделать ровно никак не могу, хелп
Lua:
imgui.Columns(3)
imgui.Text(u8'КОМАНДА') imgui.SetColumnWidth(-1, 315)
imgui.NextColumn()
imgui.Text(u8'ОПИСАНИЕ') imgui.SetColumnWidth(-1, 970)
imgui.NextColumn()
imgui.Text('') imgui.SetColumnWidth(-1, 100)
imgui.Columns(1)
imgui.Separator()
imgui.Columns(3)
for _, cmd_button in ipairs({'/mm', '/stats', '/su'}) do
if imgui.Button(cmd_button, imgui.ImVec2(300, 50)) and imgui.SetColumnWidth(100, 200) then
setClipboardText(cmd_button)
end
--imgui.Separator()
end
imgui.NextColumn()
for _, cmd_text in ipairs({'Команда для тестирования.', 'Команда для ещё одного тестирования', 'И ещё одна команда для тестирования.'}) do
imgui.Text(u8(cmd_text)) imgui.SetColumnWidth(-1, 970)
imgui.Separator()
end
Вложения
Последнее редактирование: