Помогите со скриптом lua

Sanya_Tuman

Известный
Автор темы
21
1
Версия MoonLoader
.026-beta
Есть скрипт, Salary, показывает заработок за сессию, решил добавить общий заработок с сохранением числа в ini.
Не могу понять как плюсануть данные из ini. код ниже (помощь нужна на 31 и 35 строке)

Код:
local sampev = require 'lib.samp.events'
local inicfg = require 'inicfg'
local encoding = require 'encoding'
encoding.default = 'CP1251'

text = renderCreateFont('Tahoma', 10, 5)
salary = renderCreateFont('Tahoma', 20, 5)
balance = 0
newbalance = 0

local cfg = inicfg.load(
    {
        general = {
            fullincome = 0;
        }
    },
    'income'
)

local fincome = cfg.general

function main()
    while not isSampAvailable() do wait(0) end
        userscreenX, userscreenY = getScreenResolution()
        while true do
            if sampIsLocalPlayerSpawned() then
                    oldMoney = getPlayerMoney(Player)
                    while true do
                        if oldMoney < getPlayerMoney(Player) then
                            newbalance = getPlayerMoney(Player) - oldMoney
                            fincome.fullincome = fincome.fullincome (тут выдаёт по итогу слово fincome.fullincome, вместо цифр записанных в ini) - getPlayerMoney(Player) - oldMoney --помощь нужна тут
                            saveAllData()
                        elseif oldMoney > getPlayerMoney(Player) then
                            newbalance = -oldMoney + getPlayerMoney(Player)
                            fincome.fullincome = fincome.fullincome (тут выдаёт по итогу слово fincome.fullincome, вместо цифр записанных в ini) + oldMoney + getPlayerMoney(Player) --помощь нужна тут
                            saveAllData()
                        end
                      renderDrawBox(userscreenX - userscreenX + 15, userscreenY / 2, 200, 80, 0xAA5D5D5D) -- Заработок за сессию
                        renderFontDrawText(text, "Заработок за сессию", userscreenX - userscreenX + 35, userscreenY / 1.95, 0xFFFFFFFF)
                        renderFontDrawText(salary, newbalance + 0, userscreenX - userscreenX + 35, userscreenY / 1.85, 0xFFCC8C51)
                        renderDrawBox(userscreenX - userscreenX + 15, userscreenY / 2 + 85, 200, 85, 0xAA5D5D5D) -- Общий заработок
                        renderFontDrawText(text, "Общий заработок", userscreenX - userscreenX + 35, userscreenY / 1.95 + 85, 0xFFFFFFFF)
                        renderFontDrawText(salary, fincome.fullincome + 0, userscreenX - userscreenX + 35, userscreenY / 1.85 + 85, 0xFFCC8C51)
                      wait(0)
                    end
            end
            wait(0)
        end
end

function saveAllData()
  inicfg.save(cfg, 'income')
end
 

KOHTOP

Участник
138
17
Есть скрипт, Salary, показывает заработок за сессию, решил добавить общий заработок с сохранением числа в ini.
Не могу понять как плюсануть данные из ini. код ниже (помощь нужна на 31 и 35 строке)

Код:
local sampev = require 'lib.samp.events'
local inicfg = require 'inicfg'
local encoding = require 'encoding'
encoding.default = 'CP1251'

text = renderCreateFont('Tahoma', 10, 5)
salary = renderCreateFont('Tahoma', 20, 5)
balance = 0
newbalance = 0

local cfg = inicfg.load(
    {
        general = {
            fullincome = 0;
        }
    },
    'income'
)

local fincome = cfg.general

function main()
    while not isSampAvailable() do wait(0) end
        userscreenX, userscreenY = getScreenResolution()
        while true do
            if sampIsLocalPlayerSpawned() then
                    oldMoney = getPlayerMoney(Player)
                    while true do
                        if oldMoney < getPlayerMoney(Player) then
                            newbalance = getPlayerMoney(Player) - oldMoney
                            fincome.fullincome = fincome.fullincome (тут выдаёт по итогу слово fincome.fullincome, вместо цифр записанных в ini) - getPlayerMoney(Player) - oldMoney --помощь нужна тут
                            saveAllData()
                        elseif oldMoney > getPlayerMoney(Player) then
                            newbalance = -oldMoney + getPlayerMoney(Player)
                            fincome.fullincome = fincome.fullincome (тут выдаёт по итогу слово fincome.fullincome, вместо цифр записанных в ini) + oldMoney + getPlayerMoney(Player) --помощь нужна тут
                            saveAllData()
                        end
                      renderDrawBox(userscreenX - userscreenX + 15, userscreenY / 2, 200, 80, 0xAA5D5D5D) -- Заработок за сессию
                        renderFontDrawText(text, "Заработок за сессию", userscreenX - userscreenX + 35, userscreenY / 1.95, 0xFFFFFFFF)
                        renderFontDrawText(salary, newbalance + 0, userscreenX - userscreenX + 35, userscreenY / 1.85, 0xFFCC8C51)
                        renderDrawBox(userscreenX - userscreenX + 15, userscreenY / 2 + 85, 200, 85, 0xAA5D5D5D) -- Общий заработок
                        renderFontDrawText(text, "Общий заработок", userscreenX - userscreenX + 35, userscreenY / 1.95 + 85, 0xFFFFFFFF)
                        renderFontDrawText(salary, fincome.fullincome + 0, userscreenX - userscreenX + 35, userscreenY / 1.85 + 85, 0xFFCC8C51)
                      wait(0)
                    end
            end
            wait(0)
        end
end

function saveAllData()
  inicfg.save(cfg, 'income')
end
Нихера не понял, но попробуй переменная = переменная + переменная
 
  • Грустно
Реакции: Lance_Sterling

Sanya_Tuman

Известный
Автор темы
21
1
Так я так и делаю.

fincome.fullincome = fincome.fullincome (массив с подгруза данных с ini, уточняю потому что может быть надо как-то через string выводить сюда, хз, проверял, это тупо словом пишется, а не цифрой которая в ini) + getPlayerMoney(Player) - oldMoneyf