• Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами Публичной оферты Проекта NetZONA.org: https://netzona.org/help/public-offer/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с условиями и правилами использования Ваших файлов cookie на Проекте NetZONA.org: https://netzona.org/help/cookies/

  • Приветствуем на сайте, Гость! Обязательно ознакомьтесь с Политикой конфиденциальности Проекта NetZONA.org: https://netzona.org/pages/privacy-policy/

  • Ответы на основные вопросы: https://netzona.org/threads/populjarnye-voprosy-i-otvety-na-nix.6122/

  • Приветствуем на сайте, Гость! Приобрести (купить) Информационную услугу (в том числе группу "Проверенный") на Проекте NetZONA.org: https://netzona.org/account/upgrades

Проблема Ошибка в file.read

  • Автор темы Автор темы Hikka
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.

Hikka

Модератор
Команда форума
Регистрация
29 Сен 2016
Сообщения
556
Реакции
1
Баллы
60
Возраст
30
Пол
Ошибка: 'JSONToTable' (string expected, got nil)
Код:
                    local read = file.Read("banlist.txt", "DATA")
                    for _, x in pairs(util.JSONToTable(read)) do
                        local add_ban = vgui.Create("DButton",panel)
                        add_ban:SetSize(50,25)
                        add_ban:SetPos(870,3.5)
                        add_ban:SetText("Бан")
                        add_ban.DoClick = function()
                            RunConsoleCommand("idea_ban",v.id)
                            panel:Remove()
                            scrolltop:SizeToContents()
                        end
                    end
Не знаю как сделать проверку, такого рода: если файл пустой, то ...
пробовал if x == nil then, не работает.
read == nil тоже не работает.
 
Такой вариант тоже не работает:
Код:
                    local config = util.JSONToTable(file.Read("banlist.txt", "DATA"))
                    if istable(config) then
                        if !table.HasValue(config, v.id) then
 
В любом случае - file.Read("banlist.txt", "DATA") не получает файла.
Надо проверить вначале что он точно лежит там и что он хоть что-то получает из него.
 
Решил:
Код:
    if !file.Exists("banlist.txt", "DATA") then
        file.Write("banlist.txt", args[1])
    else
        for k,v in ipairs(string.Explode("\n",file.Read("banlist.txt", "DATA"))) do
            if v == args[1] then
                ply:EmitSound("Resource/warning.wav", 50, 100)
                ply:ChatPrint("["..args[1].."] уже заблокирован")
                return
            end
        end
        file.Append("banlist.txt", "\n"..args[1])
    end
 
Статус
В этой теме нельзя размещать новые ответы.
Главная Регистрация
Назад
Сверху