Чтение из файла в InputText

ReoGenT

Участник
Автор темы
90
6
Версия MoonLoader
.026-beta
Сделал конфиг:
Код:
[config]
mynick=Vasya_Pupkin

Дак вот, как сделать так чтобы это имя отображалось в InputText и его можно было изменить через него (InputText)
 
Решение
Там, где ты объявляешь переменную для InputText'a пишешь первым аргументом. mainIni на своё замени, если у тебя другое. И имя переменной. Это для примера я так.
Lua:
local buf = imgui.ImBuffer(mainIni.config.mynick, 256)

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
Там, где ты объявляешь переменную для InputText'a пишешь первым аргументом. mainIni на своё замени, если у тебя другое. И имя переменной. Это для примера я так.
Lua:
local buf = imgui.ImBuffer(mainIni.config.mynick, 256)
 
  • Нравится
Реакции: ARMOR

ReoGenT

Участник
Автор темы
90
6
Там, где ты объявляешь переменную для InputText'a пишешь первым аргументом. mainIni на своё замени, если у тебя другое. И имя переменной. Это для примера я так.
Lua:
local buf = imgui.ImBuffer(mainIni.config.mynick, 256)
Код:
[ML] (error) AdminMode: ...am Files\GTA San Andreas\moonloader\AdminTools [1.4].lua:162: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImBuffer'
    ...am Files\GTA San Andreas\moonloader\AdminTools [1.4].lua:162: in main chunk
 

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
Код:
[ML] (error) AdminMode: ...am Files\GTA San Andreas\moonloader\AdminTools [1.4].lua:162: sol: no matching function call takes this number of arguments and the specified types
stack traceback:
    [C]: in function 'ImBuffer'
    ...am Files\GTA San Andreas\moonloader\AdminTools [1.4].lua:162: in main chunk
А у тебя конфиг выше или ниже этой переменной находится? Должен выше, так как если будет ниже, то ты попытаешься получить то, что пока не загрузилось.
 

ReoGenT

Участник
Автор темы
90
6
А у тебя конфиг выше или ниже этой переменной находится? Должен выше, так как если будет ниже, то ты попытаешься получить то, что пока не загрузилось.
Выше

А у тебя конфиг выше или ниже этой переменной находится? Должен выше, так как если будет ниже, то ты попытаешься получить то, что пока не загрузилось.
АААА СОРИ я затупил неправильно кое-что ввел

А у тебя конфиг выше или ниже этой переменной находится? Должен выше, так как если будет ниже, то ты попытаешься получить то, что пока не загрузилось.
А нет все равно не работает
 
Последнее редактирование:
  • Нравится
Реакции: Dmitriy Makarov

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
Выше


АААА СОРИ я затупил неправильно кое-что ввел


А нет все равно не работает
Ну ты явно что-то не так делаешь, друг.) Потому что у меня всё хорошо.
Screenshot_1.png

Lua:
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        mynick = "Test"
    }
}, "test.ini")

if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local buf = imgui.ImBuffer(mainIni.config.mynick, 256)

-- OnDrawFrame
imgui.InputText("Test", buf)
 

ReoGenT

Участник
Автор темы
90
6
Ну ты явно что-то не так делаешь, друг.) Потому что у меня всё хорошо.
Посмотреть вложение 155051
Lua:
local inicfg = require 'inicfg'
local mainIni = inicfg.load({
config =
    {
        mynick = "Test"
    }
}, "test.ini")

if not doesFileExist('moonloader/config/test.ini') then
    inicfg.save(mainIni, 'test.ini')
end

local buf = imgui.ImBuffer(mainIni.config.mynick, 256)

-- OnDrawFrame
imgui.InputText("Test", buf)
Все я починил, теперь мне нужно его самому изменять, я пытаюсь а оно обратно на то значение которое в конфиге меняется

Все я починил, теперь мне нужно его самому изменять, я пытаюсь а оно обратно на то значение которое в конфиге меняется
А все это тоже починил
 
  • Нравится
Реакции: Dmitriy Makarov

ARMOR

Я будто попал в другое измерение
Модератор
5,019
7,098
Все я починил, теперь мне нужно его самому изменять, я пытаюсь а оно обратно на то значение которое в конфиге меняется
Lua:
if imgui.InputText("ZALUPA", buf) then
    mainIni.config.mynick = buf.v
    inicfg.save(mainIni, "test.ini")
end
 

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
Все я починил, теперь мне нужно его самому изменять, я пытаюсь а оно обратно на то значение которое в конфиге меняется
Ты конфиг в коде не меняешь (не сохраняешь) скорее всего, поэтому у тебя остаётся старое значение. =)
 

ReoGenT

Участник
Автор темы
90
6
Ты конфиг в коде не меняешь (не сохраняешь) скорее всего, поэтому у тебя остаётся старое значение. =)
А еще не подскажете, как сделать прибавление к значению в конфиге, например, у меня есть конфиг:
Код:
[config]
number=1

И когда в чате, например я написал слово "Плюс", то к этому значению прибавилось 2
 

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
А еще не подскажете, как сделать прибавление к значению в конфиге, например, у меня есть конфиг:
Код:
[config]
number=1

И когда в чате, например я написал слово "Плюс", то к этому значению прибавилось 2
Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find("Плюс") then
        mainIni.config.number = mainIni.config.number + 1
        inicfg.save(mainIni, "test.ini")
    end
end
Как-то так. С обычными переменными так работает, с конфигом ещё не проверял.) Вроде должно работать.
 

ReoGenT

Участник
Автор темы
90
6
А еще не подскажете, как сделать прибавление к значению в конфиге, например, у меня есть конфиг:
Код:
[config]
number=1

И когда в чате, например я написал слово "Плюс", то к этому значению прибавилось 2
А ВСЕ я тоже это решил :)

Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find("Плюс") then
        mainIni.config.number = mainIni.config.number + 1
        inicfg.save(mainIni, "test.ini")
    end
end
Как-то так. С обычными переменными так работает, с конфигом ещё не проверял.) Вроде должно работать.
Ага, только что дошло до меня)

Lua:
local sampev = require 'lib.samp.events'

function sampev.onServerMessage(color, text)
    if text:find("Плюс") then
        mainIni.config.number = mainIni.config.number + 1
        inicfg.save(mainIni, "test.ini")
    end
end
Как-то так. С обычными переменными так работает, с конфигом ещё не проверял.) Вроде должно работать.
И еще один вопросик, кхм)
Lua:
if text:find("^Администратор "..masIni.myadmstatsconf.mynick.."%[(%d+)%] выдал(а) бан чата (.+)") then
    masIni.myadmstatsconf.bans = masIni.myadmstatsconf.bans + 1
    inicfg.save(masIni, mystatsIni)
end

Оно не засчитывает, masIni.myadmstatsconf.mynick это ник в конфиге
 
Последнее редактирование:
  • Нравится
Реакции: Dmitriy Makarov

Dmitriy Makarov

25.05.2021
Проверенный
2,513
1,139
Может регулярное выражение неправильное? 🤔
выдал%(а%)

Если всё равно ничего не произойдёт, то попробуй поставить задержку или получай свой никнейм с помощью функций Lua
sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
 

ReoGenT

Участник
Автор темы
90
6
Может регулярное выражение неправильное? 🤔

выдал%(а%)

Если всё равно ничего не произойдёт, то попробуй поставить задержку или получай свой никнейм с помощью функций Lua
sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
Спасибо