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

niki4

Участник
Автор темы
92
10
Версия MoonLoader
.026-beta
У меня есть в скрипте заполнение данных. Нужно, чтобы при сохранении информация сохранялась за определенным сервером и если человек заходит на другой серв, то у него пустая форма вылезала или та, которую он сохранил ранее
 

niki4

Участник
Автор темы
92
10

meowprd

Тот самый Котовский
Проверенный
1,280
712
В плане нормального оформления как это сделать? В один файл конфиг что ли все засовывать?
Можно создавать папки с IP сервера
Соответственно в начале main - получение IP, doesFileExist, а дальше фантазия за тобой
 

niki4

Участник
Автор темы
92
10
Можно создавать папки с IP сервера
Соответственно в начале main - получение IP, doesFileExist, а дальше фантазия за тобой
Мне бы понять как вписывать туда в файл параметры как в cfg ini и брать так же, так как cfg ini файл можно создать онли в папке config
 

Cosmo

Известный
Друг
646
2,597
Я так понял ты хочешь разобратся как работает inicfg или что?
Lua:
require "moonloader"
local inicfg = require 'inicfg'
local cfg = inicfg.load({ ip = {} }, "servers")

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(2000) end
    
    if not doesFileExist(getWorkingDirectory().."\\config\\servers.ini") then
        inicfg.save(cfg, 'servers.ini')
    end

    sampRegisterChatCommand('addcurrent', function() -- добавление текущего IP сервера в конфиг
        local ip, _ = sampGetCurrentServerAddress()
        table.insert(cfg.ip, ip) -- добавление ip в массив конфига
        if inicfg.save(cfg, 'servers.ini') then
            sampAddChatMessage('Текущий сервер ('.. ip ..') добавлен в конфиг', -1)
        end
    end)
    
    sampRegisterChatCommand('addip', function(ip) -- Добавление сервера в конфиг по IP
        if ip:match('(%d+)%.(%d+)%.(%d+)%.(%d+)') then
            table.insert(cfg.ip, ip)
            if inicfg.save(cfg, 'servers.ini') then
                sampAddChatMessage('IP: '.. ip ..' добавлен в конфиг', -1)
            end
        else
            sampAddChatMessage('Вводи IP а не свой пароль от домофона додик', -1)
        end
    end)
    
    -- при входе в игру
    ip, _ = sampGetCurrentServerAddress() -- получаем IP сервера при входе
    if ip then -- если Ip нашелся..
        for k, v in pairs(cfg.ip) do -- проверяем циклом, наличие найденого IP в нашем конфиге
            if v == ip then  -- если сервер был найден в нашем конфиге то..
                sampAddChatMessage('Вы зашли на сервер, который был указан в конфиге', -1)
            end
        end
    end
    
    while true do

    wait(0)
    end
end
 

niki4

Участник
Автор темы
92
10
Я так понял ты хочешь разобратся как работает inicfg или что?
Lua:
require "moonloader"
local inicfg = require 'inicfg'
local cfg = inicfg.load({ ip = {} }, "servers")

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(2000) end
   
    if not doesFileExist(getWorkingDirectory().."\\config\\servers.ini") then
        inicfg.save(cfg, 'servers.ini')
    end

    sampRegisterChatCommand('addcurrent', function() -- добавление текущего IP сервера в конфиг
        local ip, _ = sampGetCurrentServerAddress()
        table.insert(cfg.ip, ip) -- добавление ip в массив конфига
        if inicfg.save(cfg, 'servers.ini') then
            sampAddChatMessage('Текущий сервер ('.. ip ..') добавлен в конфиг', -1)
        end
    end)
   
    sampRegisterChatCommand('addip', function(ip) -- Добавление сервера в конфиг по IP
        if ip:match('(%d+)%.(%d+)%.(%d+)%.(%d+)') then
            table.insert(cfg.ip, ip)
            if inicfg.save(cfg, 'servers.ini') then
                sampAddChatMessage('IP: '.. ip ..' добавлен в конфиг', -1)
            end
        else
            sampAddChatMessage('Вводи IP а не свой пароль от домофона додик', -1)
        end
    end)
   
    -- при входе в игру
    ip, _ = sampGetCurrentServerAddress() -- получаем IP сервера при входе
    if ip then -- если Ip нашелся..
        for k, v in pairs(cfg.ip) do -- проверяем циклом, наличие найденого IP в нашем конфиге
            if v == ip then  -- если сервер был найден в нашем конфиге то..
                sampAddChatMessage('Вы зашли на сервер, который был указан в конфиге', -1)
            end
        end
    end
   
    while true do

    wait(0)
    end
end
Я хочу inicfg засунуть вне папки config, в свою