помогите с перезагрузкой скрипта

Oki_Bern

Участник
Автор темы
169
6
Версия MoonLoader
Другое
есть код, и вот в игре с помощью команды, можно изменить конфиг, но после измены конфига если скрипт не перезагрузить через CTRL + R, то он работать не будет, я хотел сделать чтоб он автоматом перезагружался, но ничего не вышло, мб сможет кто помочь
Lua:
local inicfg = require 'inicfg'
local ini = inicfg.load({
    set = {
        text = 0, -- здесь будет хранится нужный текст
    }}, 'ScriptName.ini')
inicfg.save(ini, 'ScriptName.ini')

function main()
    sampRegisterChatCommand('text', function(arg) -- регаем команду text
        if tonumber(arg) and tonumber(arg) >= 1 and tonumber(arg) <= 100 then -- если аргумент является числом 1 <= arg <= 100
            ini.set.text = arg
            inicfg.save(ini, 'ScriptName.ini') -- сохраняем конфиг
            sampAddChatMessage('Новое значение конфига: '..ini.set.text,-1)
        else -- если аргумент всё таки пустой, то
            sampAddChatMessage('Текущее значение конфига: '..ini.set.text,-1) -- выводим в чат текущщее значение сохраненного текста
        end
       wait(-1)
    end)
    while true do wait(0)
        if tonumber(ini.set.text) and getCharHealth(1) < tonumber(ini.set.text) then
            sampProcessChatInput('/q')
        end
    end
end
 
Последнее редактирование:
Решение
Lua:
local inicfg = require 'inicfg'
local directIni = 'filename.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        hp = 0
    },
}, directIni))
inicfg.save(ini, directIni)
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand('hp', function (params)
            if #params > 0 then
                ini.main.hp = tonumber(params)
                inicfg.save(ini, directIni)
                sampAddChatMessage('Новое значение конфига: '..ini.main.hp, -1)
            else
                sampAddChatMessage('Текущее значение конфига: '..ini.main.hp, -1)
            end
        end)
    while true do
        wait(0)
        if getCharHealth(1) < ini.main.hp then
            os.exit()...

Willy4ka

Неизвестный • zkt-team
Проверенный
203
412
Lua:
local inicfg = require 'inicfg'
local directIni = 'filename.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        hp = 0
    },
}, directIni))
inicfg.save(ini, directIni)
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand('hp', function (params)
            if #params > 0 then
                ini.main.hp = tonumber(params)
                inicfg.save(ini, directIni)
                sampAddChatMessage('Новое значение конфига: '..ini.main.hp, -1)
            else
                sampAddChatMessage('Текущее значение конфига: '..ini.main.hp, -1)
            end
        end)
    while true do
        wait(0)
        if getCharHealth(1) < ini.main.hp then
            os.exit()
        end
    end
end
 
  • Нравится
Реакции: Oki_Bern

Oki_Bern

Участник
Автор темы
169
6
Lua:
local inicfg = require 'inicfg'
local directIni = 'filename.ini'
local ini = inicfg.load(inicfg.load({
    main = {
        hp = 0
    },
}, directIni))
inicfg.save(ini, directIni)
function main()
    while not isSampAvailable() do wait(0) end
        sampRegisterChatCommand('hp', function (params)
            if #params > 0 then
                ini.main.hp = tonumber(params)
                inicfg.save(ini, directIni)
                sampAddChatMessage('Новое значение конфига: '..ini.main.hp, -1)
            else
                sampAddChatMessage('Текущее значение конфига: '..ini.main.hp, -1)
            end
        end)
    while true do
        wait(0)
        if getCharHealth(1) < ini.main.hp then
            os.exit()
        end
    end
end
Спасибо очень помог, я пересмотрел код и раза с 10 понял что была лишняя строчка
wait(-1)
 

percheklii

Известный
731
268
Спасибо очень помог, я пересмотрел код и раза с 10 понял что была лишняя строчка
wait(-1)
wait(-1) используется только если не используется бесконечный цикл, это так, на будущее)
 
  • Нравится
Реакции: Oki_Bern