mainIni

ake11a

Новичок
Автор темы
13
1
Версия MoonLoader
.026-beta
Подскажите пожалуйста, как сделать изменения цен в игре.

Lua:
local mainIni = inicfg.load({
prices = {
        tomato = 100,
        potato = 200,
        carrot = 300,
    }
Lua:
local priceTomato = mainIni.prices.tomato
local pricePotato = mainIni.prices.potato
local priceCarrot = mainIni.prices.Carrot

На разных серверах, разные цены. Хотел изначально сделать по CheckBox и сервера на выбор с уже установленными ценами.
Или отдельное imgui окно
1656837515082.png
 
Решение
Lua:
local imgui = require('imgui')
local inicfg = require("inicfg")

local encoding = require 'encoding' -- загружаем библиотеку
encoding.default = 'CP1251' -- указываем кодировку по умолчанию, она должна совпадать с кодировкой файла. CP1251 - это Windows-1251
u8 = encoding.UTF8 -- и создаём короткий псевдоним для кодировщика UTF-8

local namecfg = "cfg"
local mainIni = inicfg.load({
    prices =
    {
        tomato = 100,
        potato = 200,
        carrot = 300,
    }
},namecfg)   
local window = imgui.ImBool(false)
local buf1 = imgui.ImBuffer(''..mainIni.prices.tomato,256)
local buf2 = imgui.ImBuffer(''..mainIni.prices.potato,256)
local buf3 = imgui.ImBuffer(''..mainIni.prices.carrot,256)
function imgui.OnDrawFrame()
    if...

ake11a

Новичок
Автор темы
13
1
Так или ты про что?
Lua:
mainIni.prices.tomato = 69
inicfg.save(mainIni, "name file")
возможно ли сделать без изменения в файле ini ? А непосредственно в окне imgui

Или сделать как-то так в виде CheckBox
0 - это первый сервер, 1 - второй сервер
Lua:
local mainIni = inicfg.load({
    [0] = { prices = {},
        tomato = 1,
        potato = 1,
        carrot = 1,
    },
    [1] = { prices = {},
        tomato = 2,
        potato = 2,
        carrot = 2,
    }
 
Последнее редактирование:

qdIbp

Автор темы
Проверенный
1,387
1,146
Lua:
local imgui = require('imgui')
local inicfg = require("inicfg")

local encoding = require 'encoding' -- загружаем библиотеку
encoding.default = 'CP1251' -- указываем кодировку по умолчанию, она должна совпадать с кодировкой файла. CP1251 - это Windows-1251
u8 = encoding.UTF8 -- и создаём короткий псевдоним для кодировщика UTF-8

local namecfg = "cfg"
local mainIni = inicfg.load({
    prices =
    {
        tomato = 100,
        potato = 200,
        carrot = 300,
    }
},namecfg)   
local window = imgui.ImBool(false)
local buf1 = imgui.ImBuffer(''..mainIni.prices.tomato,256)
local buf2 = imgui.ImBuffer(''..mainIni.prices.potato,256)
local buf3 = imgui.ImBuffer(''..mainIni.prices.carrot,256)
function imgui.OnDrawFrame()
    if window.v then
        imgui.SetNextWindowPos(imgui.ImVec2(50, 193), imgui.Cond.FirstUseEver, imgui.ImVec2(0, 0))
        imgui.SetNextWindowSize(imgui.ImVec2(368, 119), imgui.Cond.FirstUseEver)
        imgui.Begin(u8'Основное окно',window)
            local pos, size = imgui.GetWindowPos(),imgui.GetWindowSize()
            print(pos.x,pos.y,size.x,size.y)
            imgui.Text(u8'tomato: ') imgui.SameLine()
            imgui.InputText('##1', buf1)
            
            imgui.Text(u8'potato:  ')imgui.SameLine()
            imgui.InputText('##2', buf2)
            
            imgui.Text(u8'carrot:   ')imgui.SameLine()
            imgui.InputText('##3', buf3)
            
        imgui.End()
    end
end

function main()
    sampRegisterChatCommand("xz", function() window.v = not window.v end)
    while true do wait(0)
        imgui.Process = window.v
    end
end
 
  • Влюблен
Реакции: ake11a