Не работает скрипт, что с функцией open?

GrishaMazzlov

https://t.me/RealCashFlow101
Автор темы
Друг
1,779
936
Версия MoonLoader
.026-beta
Error:
Loading script 'D:\Новая папка\Google Chrome\moonloader\secretFIXED By GrishaMazzlov.lua'...
[09:49:35.617001] (debug)    New script: 0FB500CC
[09:49:35.623001] (error)    secretFIXED By GrishaMazzlov.lua: ...oogle Chrome\moonloader\secretFIXED By GrishaMazzlov.lua:202: bad argument #1 to 'open' (string expected, got nil)
stack traceback:
    [C]: in function 'open'
    ...oogle Chrome\moonloader\secretFIXED By GrishaMazzlov.lua:202: in main chunk
[09:49:35.624001] (error)    secretFIXED By GrishaMazzlov.lua: Script died due to an error. (0FB500CC)
Lua:
require 'moonloader'
se = require 'samp.events'

QnA_TEMPLATE = {
    ['Как зовут квестового NPC в деревне Монтгомери'] = 'Майкл',
    ['Сколько лавок на центральном рынке'] = '30',
    ['Количество работ в ЦЗ'] = '19 шт на данный момент',
    ['Сколько нужно EXP для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Фамилия администратора с ником Kory_McGregor'] = 'Мясников',
    ['Количество домов на сервере за AZ монеты'] = '15',
    ['В каком месяце ввели покраску куратора'] = 'Декабрь',
    ['Количество серверов с самым длинным названием'] = '3',
    ['Количество лавок на Центральном Рынке'] = '30',
    ['Сервер Аризоны, который чаще всего занимает 1 место по онлайну'] = 'Scottdale',
    ['Количество ГА, которое когда-либо были на сервере Yuma'] = '1',
    ['Красная, как яблоко, наклейка с белой надписью'] = 'Supreme',
    ['Сколько нужно EXP для получения 39 уровня, если сейчас у тебя 1 lvl 4 exp'] = '3112',
    ['Ник главного администратора сервера Tucson, который был назначен после ухода Dmitriy_Prise'] = 'Steff_Kingston',
    ['Максимальный онлайн на проекте Arizona за все время'] = '14000',
    ['Сколько нужно EXP для получения 40 уровня, если сейчас у тебя 3 lvl 2 exp'] = '3254',
    ['Какая фамилия у разработчика Альберта'] = 'Миронов',
    ['Старый, мудрый, 05го дежурный'] = 'Николай',
    ['Сколько талонов в день можно получать с семейных квестов'] = '11',
    ['В каком году был добавлен депозит'] = '2017',
    ['Напишите Nick_Name главного администратора 9-го сервера'] = 'Leonardo_Toren',
    ['В каком году Conor ушел с поста ГА на сервере Chandler'] = '2016',
    ['Ник администратора который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Максимальное количество дерева в 1 слоте инвентаря'] = '10000',
    ['Какая работа доступна в ЦЗ на 1 лвл-е'] = 'Таксист',
    ['Дата выхода обновления позволившего зарабатывать реальные деньги в игре аризона рп'] = '16,07,19',
    ['Какое название самого дорогого контейнера'] = 'ussiness',
    ['Сколько энергии пополняется каждый PayDay при 75% выносливости'] = '17.5',
    ['В каком месяце был добавлен информационный центр'] = 'Март',
    ['Какая работа в центре занятости открывается на 6 уровне'] = 'Пилот, инкассатор',
    ['Лысый, смешной, большой и злой'] = 'Conor',
    ['Максимальное количество EXP которое может выпасть с контейнера'] = '80',
    ['Какой налог нужен для слета дома'] = '104000',
    ['Самая популярна игра в казино'] = 'Кости',
    ['В каком месяце Conor стал спец.админом'] = 'Январь',
    ['Какой NPC ждёт на вокзале ЛС'] = 'Джереми',
    ['Любит репорт отвечать,игрокам всем помогать'] = 'Хелпер',
    ['Какой аксессуар может сидеть на плече'] = 'Попугай',
    ['Когда добавили депозит'] = '2017',
    ['Кто работает ночами над модом'] = 'Альберт',
    ['Кто однорукий всегда стоит в казино'] = 'Бандит',
    ['Месяц ввода покраски на форуме'] = 'Декабрь',
    ['Кто закопал эти клады'] = 'Дмитрий',
    ['Что может объединить 1000 игроков на сервере'] = 'Семья',
    ['В честь кого установлен памятник недалеко от моста ЛС-СФ'] = 'Ричи',
    ['Сколько лет самому молодому ГА'] = '14',
    ['Сколько всего фракций на аризоне'] = '27',
    ['Минимальная сумма пожертвования в благотворительность'] = '10000',
    ['В каком году был открыт сервер Mesa'] = '2018',
    ['Какой ник у Валика'] = 'Farmer',
    ['Как звали третьего по счету ГА Scottdale'] = 'Владислав',
    ['Дата добавления корабля для мафий в формате xx.xx.xx'] = '19.06.16',
    ['Напишите Nick_Name главного администратора 3-го сервера'] = 'Xavier_Cooper',
    ['Дата регистрации спец.администратора Sam_Mason на форуме в формате xx.xx.xx'] = '27.04.15',
    ['Сколько АЗ стоит в донате 8000 семейной репутации'] = '2400',
    ['Максимальная цена на оружие в AMMO для владельцев бизнеса'] = '50000',
    ['С какого сервера пошло понятие 13=GG'] = 'Scottdale',
    ['Какая цена была у Titan Vip в AZ монетах изначально'] = '2000',
    ['Вечно ждущий NPC на вокзале ЛС'] = 'Джереми',
    ['Самый крупный ютубер на 1 октября 2019 года'] = 'Delorenzy',
    ['Какой урон наносит удар с кулака при 100% силы по игроку с 0% мускулатуры'] = '11.32',
    ['Сколько нужно перевезти пицц, чтобы выполнить начальный квест'] = '15',
    ['Количество ГА, которые когда-либо были на сервере Red-Rock'] = '3',
    ['Напишите Nick_Name главного администратора 6-го сервера'] = 'Diana_Mironova',
    ['Как зовут начальника Магнуса'] = 'Эрих',
    ['Увеличивает скорость, но не чит, добавляет наклейку, но не Supreme'] = 'TwinTurbo',
    ['Ник администратора, который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Что нужно сделать или получить для выполнения первого начального квеста'] = 'Паспорт',
    ['69)Сколько работ есть в Центре Занятости'] = '14-16',
    ['Каждый проходит через это в начале игры'] = 'Регистрация',
    ['Сколько ГА было на сервере Mesa'] = '2',
    ['Сколько ГА было на сервере Yuma'] = '1',
    ['Максимальный онлайн на проекте Аризона за всё время'] = '10000 или 100000',
    ['Он бывает 7 раз в неделю, 24 раза в сутки. Что это'] = 'PayDay',
    ['Висит на спине, но не гитара, быстрый и юркий, но не велосипед'] = 'Скейт',
    ['Накануне праздник, вышла обнова - это любимая наша'] = 'Аризона',
    ['Сколько было серверов 1 октября 2017 года'] = '6',
    ['Работа в Центре занятости с 1 лвл'] = 'Таксист',
    ['Стандартное количество ХП у автомобиля'] = '1500',
    ['Сколько EXP нужно для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Какая наименьшая гос.цена у любого бизнеса на сервере'] = '6.000.000',
    ['Сколько минут нужно отыграть для получения PayDay'] = '20',
    ['Максимальный срок деморгана в секундах'] = '180000',
    ['В каком году Conor ушёл с поста ГА на сервере Chandler'] = '2016',
    ['Сколько стоило 1 евро в день выпуска'] = '3000',
    ['Сколько нужно EXP для получения 12 уровня, если сейчас у тебя 1 lvl 0 exp'] = '308',
    ['Сколько урона наносит кулак, если у игрока, наносящего удар 0% силы, а у игрока, по которому наносится удар, 0% мускулатуры'] = '1.32',
    ['Сколько существует стилей форума'] = '3',
    ['Максимальная ставка в одноруком бандите'] = '5000',
    ['Максимальное количество слотов для машин у 1 игрока'] = '5',
    ['Из какой страны привозят контейнеры для аукциона'] = 'Германия.',
    ['Какое название у лучшего типа контейнеров на английском'] = 'Business',
    ['Число спец.администраторов, которое было за всё время на проекте'] = '3',
    ['Собирает яйца птица, ни павлин и ни синица'] = 'Попугай',
    ['Как называется мероприятие на котором нужно собирать яйца"'] = 'Собиратели',
    ['Сколько стоит лотерейный VIP-Билет"'] = '2500000',
    ['Укажите дату открытия 15 сервера Payson в формате xx.xx.xx"'] = '04.01.21',
    ['Как зовут менеджера стоящего на аукционе контейнеров"'] = 'Магнус',
    ['Сколько стоит маска робота в семейном магазине"'] = '2900',
    ['Сколько стоит реактивный ранец в семейном магазине"'] = '2400',
    ['Какой порядковый номер у бизнеса отель пирамида"'] = '144',
    ['В каком году была добавлена лихорадка на Arizona Rp"'] = '2017',
    ['Ник первого Спец.Администратора Arizona Rp"'] = 'Sweet_Jonson',
    ['Имя первого владельца Arizona Rp"'] = 'Денис',
    ['Цена бизнеса сельскохозяйственного магазина"'] = '45000000',
    ['Как зовут NPC в больницах"'] = 'Керри',
    ['Максимальный этаж в ЖК Los Santos Tower"'] = '13',
    ['Укажите количество ячеек у Фермы #2"'] = '42',
    ['Как зовут квестового персонажа стоящего у тренировочного полигона автошколы"'] = 'Маргарита',
    ['Укажите дату открытия 8 сервера Red-Rock в формате xx.xx.xx"'] = '26.07.18',  
    ['Укажите дату открытия 13 сервера Kingman в формате xx.xx.xx"'] = '28.04.20',
    ['Сколько всего нелегальных автомобилей доступно к покупке в автосалоне"'] = '14',
    ['Укажите дату открытия 12 сервера Glendale в формате xx.xx.xx"'] = '01.04.20',
    ['Сколько стоят обручальные кольца для проведения свадьбы"'] = '5000',
    ['Сколько стоит улучшение "Бренд" для семьи"'] = '80000000',
    ['Сколько авто стоит в пожарной части Лос Сантоса"'] = '5',
    ['Какая фамилия у разработчика Евгения'] = 'Косовский',
    ['Какой порядковый номер у бизнеса "Информационный центр""'] = '212',
    [' Сколько стоит вызвать такси через телефонную будку'] = '250',
    ['Как зовут скупщика нелегала в гетто'] = 'Гурам',
    ['Укажите дату открытия 11 сервера Prescott в формате xx.xx.xx'] = '05.01.20',
    ['Какова государственная стоимость самой дорогой яхты'] = '25600000',
    ['Какова начальная ставка в контейнерах'] = '4000000',
    ['С какого уровня открывается работа адвоката'] = '7',
    ['С какого уровня открывается работа инкассатора'] = '7',
    ['Какой номер телефона у справочного банка'] = '8828',
    ['Какая максимальная сумма штрафа может быть наложена на личный автомобиль'] = '80000',
    ['Какова государственная цена бизнеса нефтевышка'] = '60000000',
    ['Минимальная ставка за Premium контейнер'] = '15000000',
    ['В честь кого поставлена статуя на ЖДЛС'] = 'Калькор',
    ['Укажите дату открытия 7 сервера Mesa в формате xx.xx.xx'] = '06.01.18',
    ['Укажите количество ячеек у Фермы #5'] = '61',
    ['Укажите количество ячеек у Фермы #3'] = '46',
    ['Укажите количество нефтевышек доступных на сервере'] = '8',
    ['Какой порядковый номер у бизнеса "Автобазар"'] = '126',
    ['Сколько стоит прыжок с парашюта'] = '900',
    ['Как называется город, который когда то был построен, а затем снесен'] = 'NewIsland',
    ['Сколько стоит кирка для добычи ископаемых которую продает Лари'] = '5000',
    ['Укажите дату открытия 9 сервера Yuma в формате xx.xx.xx'] = '04.11.20',
    ['Сколько может иметь машин игрок с PREMIUM VIP'] = '20',
    ['Сколько нужно подарков для обмена на шкатулку у Эдварда'] = '20',
    ['Сколько стоит покупка прав на полёты'] = '200000',
    ['Сколько человек работают над обновлениями на проекте'] = '3',
    ['Укажите точное количество магазинов видеокарт'] = '3',
    ['Укажите сколько семейных монет стоит предмет "Рюкзак будущего" в семейном магазине '] = '2800',
    ['На какой номер нужно позвонить чтобы вызвать механика'] = '913',
    ['Сколько всего личных ферм на сервере'] = '5',
    ['Сколько всего автобусов припарковано на ЖД ЛВ'] = '7',
    ['Какова начальная ставка в контейнер класса ультра'] = '20000000',
    ['Укажите сколько дрифт монет стоит предмет "Крылья зеленые" в сувенирной лавке'] = '1300',
    ['Какая гос. стоимость трейлера среднего класса'] = '3500000',
    ['Какой уровень требуется для работы пилотом'] = '6',
    ['Максимальная сумма пожертвования в благотворительность'] = '100000000',
    ['Как зовут персонажа который всегда встречает новых игроков на вокзале'] = 'Джереми',
    ['Какой игровой уровень нужно достигнуть чтобы создать свою семью '] = '20',
    ['Укажите количество ячеек у фермы №1'] = '24',
    ['Сколько стоит проход в VIP зал казино'] = '50000',
    ['Какой порядковый номер у бизнеса "Аренда велосипедов"'] = '215',
    ['Какое количество прицепов доступно для работы дальнобойщиком на станции около Форт Карсона'] = '6',
    ['Какой игровой уровень требуется для того чтобы устроить на работу водителя трамвая'] = '9',
    ['На каком мероприятии можно в костюме попугая собирать яйца'] = 'Собиратели',
    ['Сколько всего доступно семейных территорий на сервере'] = '156',
    ['Как зовут квестового персонажа который проводит мгновенную лотерею на центральном рынке'] = 'Милтон',
    ['Сколько стоит стоит улучшение "Галочка" для семьи'] = '50000000',
    ['Укажите сколько дрифт монет стоит предмет "Паук" В сувенирной лавке'] = '600',
    ['Какой игровой уровень требуется для того чтобы устроиться на работу механика'] = '3',
    ['Укажите сколько дрифт монет стоит предмет "Корона" в сувенирной лавке'] = '1000',
    ['Сколько семейных монет начисляется на баланс фам. территории каждый PayDay'] = '8',
    ['Укажите минимальную сумму для раздачи в центре занятости'] = '10000',
    ['Как зовут ту, которая постоянно готова сыграть с вами в кости'] = 'Оливия',
    ['Стоимость аренды лавки №8 на центральном рынке'] = '100000',
    ['Укажите дату открытия 6 сервера Saint Rose в формате xx.xx.xx'] = '27.08.17',
    ['Как зовут персонажа который стоит под мостом рядом с базой банды Ballas'] = 'Иван Гай',
    ['Укажите количество ячеек у фермы №4'] = '35',
    ['Сколько разработчиков работают над обновлениями на проекте'] = '3',
    ['Какова стоимость 1 фишки в казино'] = '90',
    ['Сколько стоит подвал с вентиляцией в доме'] = '1000000',
    ['Какую максимальную сумму денег можно перевозить в грузовиках мафии'] = '1800000',
    [' Какова начальная ставка на контейнер обычного класса'] = '4000000',
    ['На какое количество семейной репутации можно обменять 1 семейный талон'] = '5',
    ['Какой игровой уровень требуется для того чтобы устроить на работу дальнобойщика'] = '5',
    ['Какой игровой уровень требуется для того чтобы устроить на работу ремонтника дорог?'] = '10',
    ['Какое количество прицепов доступно для работы дальнобойщиком на станции около Форт Карсона'] = '6',
    ['Какая нужна сумма для того чтобы отреставрировать здание на улице'] = '1500000000'
   
   
}
local answers = {}
local hand_add = {
    status = false,
    question = '',
    answer = ''
}

if not doesFileExist(path) then
    answers = QnA_TEMPLATE
    createDirectory(getWorkingDirectory() .. '\\resource\\')
    file = io.open(path, "w")
    file:write(encodeJson(QnA_TEMPLATE))
    file:close()
else
    file = io.open(path, "r")
    answers = decodeJson(file:read('*a'))
    file:close()

function se.onShowDialog(id, style, title, but_1, but_2, text)
    if id == 13101 then
        local temp = {}
        local question = text:match('Вопрос:\n(.+)\n\nВведите ответ')

        if question ~= nil then
            for q, a in pairs(answers) do
                if question:find(q, 1, true) then
                    temp[#temp + 1] = a
                end
            end

            if #temp > 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможные ответы:\n{AAFFAA}' .. table.concat(temp, '\n{AAFFAA}') .. '\n\n{FFFFFF}%1')
            elseif #temp == 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможный ответ: {AAFFAA}' .. temp[1] .. '\n\n{FFFFFF}%1')
            else
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FFAAAA}Возможный ответ не найден :(\nПравильный будет сохранён автоматически\n\n{FFFFFF}%1')
            end
        else
            print(string.format('\nОшибка поиска вопроса:\n\nID: [%s] | Заголовок: [%s]\nСодержимое:\n[%s]\n\n', id, title, text))
            text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FF0000}Вопрос не был найден :(\nОбратитесь к разработчику\n\n{FFFFFF}%1')
            hand_add.status = true
            hand_add.question = question
        end

        return {id, style, title, but_1, but_2, text}
    end
end

function se.onSendDialogResponse(id, but, list, input)
    if hand_add.status and id == 13101 then
        hand_add.answer = input
    end
end

function se.onServerMessage(clr, msg)
    if hand_add.status and msg:find('Поздравляем! Вы успешно взломали замок клада') then
        hand_add.status = false
        add_new(hand_add.question, hand_add.answer)
        return {clr, msg .. ' {85BB65}[Ответ сохранён]'}
    end
end

function main()
    sampRegisterChatCommand('sm', function(coords)
        local x, y, z = coords:match('(.+), (.+), (.+)')
        placeWaypoint(x, y, z)
    end)
end
 
Решение
Lua:
require 'moonloader'
se = require 'samp.events'

QnA_TEMPLATE = {
    ['Как зовут квестового NPC в деревне Монтгомери'] = 'Майкл',
    ['Сколько лавок на центральном рынке'] = '30',
    ['Количество работ в ЦЗ'] = '19 шт на данный момент',
    ['Сколько нужно EXP для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Фамилия администратора с ником Kory_McGregor'] = 'Мясников',
    ['Количество домов на сервере за AZ монеты'] = '15',
    ['В каком месяце ввели покраску куратора'] = 'Декабрь',
    ['Количество серверов с самым длинным названием'] = '3',
    ['Количество лавок на Центральном Рынке'] = '30',
    ['Сервер Аризоны, который чаще всего занимает 1 место по онлайну'] = 'Scottdale',
    ['Количество ГА...

GrishaMazzlov

https://t.me/RealCashFlow101
Автор темы
Друг
1,779
936
ты открываешь path, path у тебя nil. Соответственно скрипт умирает, так как функция просит string
Lua:
require 'moonloader'
se = require 'samp.events'

QnA_TEMPLATE = {
    ['Как зовут квестового NPC в деревне Монтгомери'] = 'Майкл',
    ['Сколько лавок на центральном рынке'] = '30',
    ['Количество работ в ЦЗ'] = '19 шт на данный момент',
    ['Сколько нужно EXP для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Фамилия администратора с ником Kory_McGregor'] = 'Мясников',
    ['Количество домов на сервере за AZ монеты'] = '15',
    ['В каком месяце ввели покраску куратора'] = 'Декабрь',
    ['Количество серверов с самым длинным названием'] = '3',
    ['Количество лавок на Центральном Рынке'] = '30',
    ['Сервер Аризоны, который чаще всего занимает 1 место по онлайну'] = 'Scottdale',
    ['Количество ГА, которое когда-либо были на сервере Yuma'] = '1',
    ['Красная, как яблоко, наклейка с белой надписью'] = 'Supreme',
    ['Сколько нужно EXP для получения 39 уровня, если сейчас у тебя 1 lvl 4 exp'] = '3112',
    ['Ник главного администратора сервера Tucson, который был назначен после ухода Dmitriy_Prise'] = 'Steff_Kingston',
    ['Максимальный онлайн на проекте Arizona за все время'] = '14000',
    ['Сколько нужно EXP для получения 40 уровня, если сейчас у тебя 3 lvl 2 exp'] = '3254',
    ['Какая фамилия у разработчика Альберта'] = 'Миронов',
    ['Старый, мудрый, 05го дежурный'] = 'Николай',
    ['Сколько талонов в день можно получать с семейных квестов'] = '11',
    ['В каком году был добавлен депозит'] = '2017',
    ['Напишите Nick_Name главного администратора 9-го сервера'] = 'Leonardo_Toren',
    ['В каком году Conor ушел с поста ГА на сервере Chandler'] = '2016',
    ['Ник администратора который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Максимальное количество дерева в 1 слоте инвентаря'] = '10000',
    ['Какая работа доступна в ЦЗ на 1 лвл-е'] = 'Таксист',
    ['Дата выхода обновления позволившего зарабатывать реальные деньги в игре аризона рп'] = '16,07,19',
    ['Какое название самого дорогого контейнера'] = 'ussiness',
    ['Сколько энергии пополняется каждый PayDay при 75% выносливости'] = '17.5',
    ['В каком месяце был добавлен информационный центр'] = 'Март',
    ['Какая работа в центре занятости открывается на 6 уровне'] = 'Пилот, инкассатор',
    ['Лысый, смешной, большой и злой'] = 'Conor',
    ['Максимальное количество EXP которое может выпасть с контейнера'] = '80',
    ['Какой налог нужен для слета дома'] = '104000',
    ['Самая популярна игра в казино'] = 'Кости',
    ['В каком месяце Conor стал спец.админом'] = 'Январь',
    ['Какой NPC ждёт на вокзале ЛС'] = 'Джереми',
    ['Любит репорт отвечать,игрокам всем помогать'] = 'Хелпер',
    ['Какой аксессуар может сидеть на плече'] = 'Попугай',
    ['Когда добавили депозит'] = '2017',
    ['Кто работает ночами над модом'] = 'Альберт',
    ['Кто однорукий всегда стоит в казино'] = 'Бандит',
    ['Месяц ввода покраски на форуме'] = 'Декабрь',
    ['Кто закопал эти клады'] = 'Дмитрий',
    ['Что может объединить 1000 игроков на сервере'] = 'Семья',
    ['В честь кого установлен памятник недалеко от моста ЛС-СФ'] = 'Ричи',
    ['Сколько лет самому молодому ГА'] = '14',
    ['Сколько всего фракций на аризоне'] = '27',
    ['Минимальная сумма пожертвования в благотворительность'] = '10000',
    ['В каком году был открыт сервер Mesa'] = '2018',
    ['Какой ник у Валика'] = 'Farmer',
    ['Как звали третьего по счету ГА Scottdale'] = 'Владислав',
    ['Дата добавления корабля для мафий в формате xx.xx.xx'] = '19.06.16',
    ['Напишите Nick_Name главного администратора 3-го сервера'] = 'Xavier_Cooper',
    ['Дата регистрации спец.администратора Sam_Mason на форуме в формате xx.xx.xx'] = '27.04.15',
    ['Сколько АЗ стоит в донате 8000 семейной репутации'] = '2400',
    ['Максимальная цена на оружие в AMMO для владельцев бизнеса'] = '50000',
    ['С какого сервера пошло понятие 13=GG'] = 'Scottdale',
    ['Какая цена была у Titan Vip в AZ монетах изначально'] = '2000',
    ['Вечно ждущий NPC на вокзале ЛС'] = 'Джереми',
    ['Самый крупный ютубер на 1 октября 2019 года'] = 'Delorenzy',
    ['Какой урон наносит удар с кулака при 100% силы по игроку с 0% мускулатуры'] = '11.32',
    ['Сколько нужно перевезти пицц, чтобы выполнить начальный квест'] = '15',
    ['Количество ГА, которые когда-либо были на сервере Red-Rock'] = '3',
    ['Напишите Nick_Name главного администратора 6-го сервера'] = 'Diana_Mironova',
    ['Как зовут начальника Магнуса'] = 'Эрих',
    ['Увеличивает скорость, но не чит, добавляет наклейку, но не Supreme'] = 'TwinTurbo',
    ['Ник администратора, который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Что нужно сделать или получить для выполнения первого начального квеста'] = 'Паспорт',
    ['69)Сколько работ есть в Центре Занятости'] = '14-16',
    ['Каждый проходит через это в начале игры'] = 'Регистрация',
    ['Сколько ГА было на сервере Mesa'] = '2',
    ['Сколько ГА было на сервере Yuma'] = '1',
    ['Максимальный онлайн на проекте Аризона за всё время'] = '10000 или 100000',
    ['Он бывает 7 раз в неделю, 24 раза в сутки. Что это'] = 'PayDay',
    ['Висит на спине, но не гитара, быстрый и юркий, но не велосипед'] = 'Скейт',
    ['Накануне праздник, вышла обнова - это любимая наша'] = 'Аризона',
    ['Сколько было серверов 1 октября 2017 года'] = '6',
    ['Работа в Центре занятости с 1 лвл'] = 'Таксист',
    ['Стандартное количество ХП у автомобиля'] = '1500',
    ['Сколько EXP нужно для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Какая наименьшая гос.цена у любого бизнеса на сервере'] = '6.000.000',
    ['Сколько минут нужно отыграть для получения PayDay'] = '20',
    ['Максимальный срок деморгана в секундах'] = '180000',
    ['В каком году Conor ушёл с поста ГА на сервере Chandler'] = '2016',
    ['Сколько стоило 1 евро в день выпуска'] = '3000',
    ['Сколько нужно EXP для получения 12 уровня, если сейчас у тебя 1 lvl 0 exp'] = '308',
    ['Сколько урона наносит кулак, если у игрока, наносящего удар 0% силы, а у игрока, по которому наносится удар, 0% мускулатуры'] = '1.32',
    ['Сколько существует стилей форума'] = '3',
    ['Максимальная ставка в одноруком бандите'] = '5000',
    ['Максимальное количество слотов для машин у 1 игрока'] = '5',
    ['Из какой страны привозят контейнеры для аукциона'] = 'Германия.',
    ['Какое название у лучшего типа контейнеров на английском'] = 'Business',
    ['Число спец.администраторов, которое было за всё время на проекте'] = '3',
    ['Собирает яйца птица, ни павлин и ни синица'] = 'Попугай',
    ['С кем связано словосочетание "Горячие вакансии"'] = 'Николай'
}

local path = getWorkingDirectory() .. '\\resource\\QnA Treasures.json'
local answers = {}
local hand_add = {
    status = false,
    question = '',
    answer = ''
}

if not doesFileExist(path) then
    answers = QnA_TEMPLATE
    createDirectory(getWorkingDirectory() .. '\\resource\\')
    file = io.open(path, "w")
    file:write(encodeJson(QnA_TEMPLATE))
    file:close()
else
    file = io.open(path, "r")
    answers = decodeJson(file:read('*a'))
    file:close()
end

function add_new(question, answer)
    if question == nil or answer == nil then return end
    answers[tostring(question)] = tostring(answer)
    file = io.open(path, "w")
    file:write(encodeJson(answers))
    file:close()
end

function se.onShowDialog(id, style, title, but_1, but_2, text)
    if id == 13101 then
        local temp = {}
        local question = text:match('Вопрос:\n(.+)\n\nВведите ответ')

        if question ~= nil then
            for q, a in pairs(answers) do
                if question:find(q, 1, true) then
                    temp[#temp + 1] = a
                end
            end

            if #temp > 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможные ответы:\n{AAFFAA}' .. table.concat(temp, '\n{AAFFAA}') .. '\n\n{FFFFFF}%1')
            elseif #temp == 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможный ответ: {AAFFAA}' .. temp[1] .. '\n\n{FFFFFF}%1')
            else
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FFAAAA}Возможный ответ не найден :(\nПравильный будет сохранён автоматически\n\n{FFFFFF}%1')
            end
        else
            print(string.format('\nОшибка поиска вопроса:\n\nID: [%s] | Заголовок: [%s]\nСодержимое:\n[%s]\n\n', id, title, text))
            text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FF0000}Вопрос не был найден :(\nОбратитесь к разработчику\n\n{FFFFFF}%1')
            hand_add.status = true
            hand_add.question = question
        end

        return {id, style, title, but_1, but_2, text}
    end
end

function se.onSendDialogResponse(id, but, list, input)
    if hand_add.status and id == 13101 then
        hand_add.answer = input
    end
end

function se.onServerMessage(clr, msg)
    if hand_add.status and msg:find('Поздравляем! Вы успешно взломали замок клада') then
        hand_add.status = false
        add_new(hand_add.question, hand_add.answer)
        return {clr, msg .. ' {85BB65}[Ответ сохранён]'}
    end
end

function main()
    sampRegisterChatCommand('sm', function(coords)
        local x, y, z = coords:match('(.+), (.+), (.+)')
        placeWaypoint(x, y, z)
    end)
end
Вот рабочий оригинал. Лучше скажи, откуда сделать CTRL + C
 

Fott

Простреленный
3,461
2,374
Lua:
require 'moonloader'
se = require 'samp.events'

QnA_TEMPLATE = {
    ['Как зовут квестового NPC в деревне Монтгомери'] = 'Майкл',
    ['Сколько лавок на центральном рынке'] = '30',
    ['Количество работ в ЦЗ'] = '19 шт на данный момент',
    ['Сколько нужно EXP для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Фамилия администратора с ником Kory_McGregor'] = 'Мясников',
    ['Количество домов на сервере за AZ монеты'] = '15',
    ['В каком месяце ввели покраску куратора'] = 'Декабрь',
    ['Количество серверов с самым длинным названием'] = '3',
    ['Количество лавок на Центральном Рынке'] = '30',
    ['Сервер Аризоны, который чаще всего занимает 1 место по онлайну'] = 'Scottdale',
    ['Количество ГА, которое когда-либо были на сервере Yuma'] = '1',
    ['Красная, как яблоко, наклейка с белой надписью'] = 'Supreme',
    ['Сколько нужно EXP для получения 39 уровня, если сейчас у тебя 1 lvl 4 exp'] = '3112',
    ['Ник главного администратора сервера Tucson, который был назначен после ухода Dmitriy_Prise'] = 'Steff_Kingston',
    ['Максимальный онлайн на проекте Arizona за все время'] = '14000',
    ['Сколько нужно EXP для получения 40 уровня, если сейчас у тебя 3 lvl 2 exp'] = '3254',
    ['Какая фамилия у разработчика Альберта'] = 'Миронов',
    ['Старый, мудрый, 05го дежурный'] = 'Николай',
    ['Сколько талонов в день можно получать с семейных квестов'] = '11',
    ['В каком году был добавлен депозит'] = '2017',
    ['Напишите Nick_Name главного администратора 9-го сервера'] = 'Leonardo_Toren',
    ['В каком году Conor ушел с поста ГА на сервере Chandler'] = '2016',
    ['Ник администратора который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Максимальное количество дерева в 1 слоте инвентаря'] = '10000',
    ['Какая работа доступна в ЦЗ на 1 лвл-е'] = 'Таксист',
    ['Дата выхода обновления позволившего зарабатывать реальные деньги в игре аризона рп'] = '16,07,19',
    ['Какое название самого дорогого контейнера'] = 'ussiness',
    ['Сколько энергии пополняется каждый PayDay при 75% выносливости'] = '17.5',
    ['В каком месяце был добавлен информационный центр'] = 'Март',
    ['Какая работа в центре занятости открывается на 6 уровне'] = 'Пилот, инкассатор',
    ['Лысый, смешной, большой и злой'] = 'Conor',
    ['Максимальное количество EXP которое может выпасть с контейнера'] = '80',
    ['Какой налог нужен для слета дома'] = '104000',
    ['Самая популярна игра в казино'] = 'Кости',
    ['В каком месяце Conor стал спец.админом'] = 'Январь',
    ['Какой NPC ждёт на вокзале ЛС'] = 'Джереми',
    ['Любит репорт отвечать,игрокам всем помогать'] = 'Хелпер',
    ['Какой аксессуар может сидеть на плече'] = 'Попугай',
    ['Когда добавили депозит'] = '2017',
    ['Кто работает ночами над модом'] = 'Альберт',
    ['Кто однорукий всегда стоит в казино'] = 'Бандит',
    ['Месяц ввода покраски на форуме'] = 'Декабрь',
    ['Кто закопал эти клады'] = 'Дмитрий',
    ['Что может объединить 1000 игроков на сервере'] = 'Семья',
    ['В честь кого установлен памятник недалеко от моста ЛС-СФ'] = 'Ричи',
    ['Сколько лет самому молодому ГА'] = '14',
    ['Сколько всего фракций на аризоне'] = '27',
    ['Минимальная сумма пожертвования в благотворительность'] = '10000',
    ['В каком году был открыт сервер Mesa'] = '2018',
    ['Какой ник у Валика'] = 'Farmer',
    ['Как звали третьего по счету ГА Scottdale'] = 'Владислав',
    ['Дата добавления корабля для мафий в формате xx.xx.xx'] = '19.06.16',
    ['Напишите Nick_Name главного администратора 3-го сервера'] = 'Xavier_Cooper',
    ['Дата регистрации спец.администратора Sam_Mason на форуме в формате xx.xx.xx'] = '27.04.15',
    ['Сколько АЗ стоит в донате 8000 семейной репутации'] = '2400',
    ['Максимальная цена на оружие в AMMO для владельцев бизнеса'] = '50000',
    ['С какого сервера пошло понятие 13=GG'] = 'Scottdale',
    ['Какая цена была у Titan Vip в AZ монетах изначально'] = '2000',
    ['Вечно ждущий NPC на вокзале ЛС'] = 'Джереми',
    ['Самый крупный ютубер на 1 октября 2019 года'] = 'Delorenzy',
    ['Какой урон наносит удар с кулака при 100% силы по игроку с 0% мускулатуры'] = '11.32',
    ['Сколько нужно перевезти пицц, чтобы выполнить начальный квест'] = '15',
    ['Количество ГА, которые когда-либо были на сервере Red-Rock'] = '3',
    ['Напишите Nick_Name главного администратора 6-го сервера'] = 'Diana_Mironova',
    ['Как зовут начальника Магнуса'] = 'Эрих',
    ['Увеличивает скорость, но не чит, добавляет наклейку, но не Supreme'] = 'TwinTurbo',
    ['Ник администратора, который занимал пост ГА на двух разных серверах'] = 'Conor',
    ['Что нужно сделать или получить для выполнения первого начального квеста'] = 'Паспорт',
    ['69)Сколько работ есть в Центре Занятости'] = '14-16',
    ['Каждый проходит через это в начале игры'] = 'Регистрация',
    ['Сколько ГА было на сервере Mesa'] = '2',
    ['Сколько ГА было на сервере Yuma'] = '1',
    ['Максимальный онлайн на проекте Аризона за всё время'] = '10000 или 100000',
    ['Он бывает 7 раз в неделю, 24 раза в сутки. Что это'] = 'PayDay',
    ['Висит на спине, но не гитара, быстрый и юркий, но не велосипед'] = 'Скейт',
    ['Накануне праздник, вышла обнова - это любимая наша'] = 'Аризона',
    ['Сколько было серверов 1 октября 2017 года'] = '6',
    ['Работа в Центре занятости с 1 лвл'] = 'Таксист',
    ['Стандартное количество ХП у автомобиля'] = '1500',
    ['Сколько EXP нужно для получения 25 уровня, если сейчас у тебя 22 lvl 20 exp'] = '268',
    ['Какая наименьшая гос.цена у любого бизнеса на сервере'] = '6.000.000',
    ['Сколько минут нужно отыграть для получения PayDay'] = '20',
    ['Максимальный срок деморгана в секундах'] = '180000',
    ['В каком году Conor ушёл с поста ГА на сервере Chandler'] = '2016',
    ['Сколько стоило 1 евро в день выпуска'] = '3000',
    ['Сколько нужно EXP для получения 12 уровня, если сейчас у тебя 1 lvl 0 exp'] = '308',
    ['Сколько урона наносит кулак, если у игрока, наносящего удар 0% силы, а у игрока, по которому наносится удар, 0% мускулатуры'] = '1.32',
    ['Сколько существует стилей форума'] = '3',
    ['Максимальная ставка в одноруком бандите'] = '5000',
    ['Максимальное количество слотов для машин у 1 игрока'] = '5',
    ['Из какой страны привозят контейнеры для аукциона'] = 'Германия.',
    ['Какое название у лучшего типа контейнеров на английском'] = 'Business',
    ['Число спец.администраторов, которое было за всё время на проекте'] = '3',
    ['Собирает яйца птица, ни павлин и ни синица'] = 'Попугай',
    ['С кем связано словосочетание "Горячие вакансии"'] = 'Николай'
}

local path = getWorkingDirectory() .. '\\resource\\QnA Treasures.json'
local answers = {}
local hand_add = {
    status = false,
    question = '',
    answer = ''
}

if not doesFileExist(path) then
    answers = QnA_TEMPLATE
    createDirectory(getWorkingDirectory() .. '\\resource\\')
    file = io.open(path, "w")
    file:write(encodeJson(QnA_TEMPLATE))
    file:close()
else
    file = io.open(path, "r")
    answers = decodeJson(file:read('*a'))
    file:close()
end

function add_new(question, answer)
    if question == nil or answer == nil then return end
    answers[tostring(question)] = tostring(answer)
    file = io.open(path, "w")
    file:write(encodeJson(answers))
    file:close()
end

function se.onShowDialog(id, style, title, but_1, but_2, text)
    if id == 13101 then
        local temp = {}
        local question = text:match('Вопрос:\n(.+)\n\nВведите ответ')

        if question ~= nil then
            for q, a in pairs(answers) do
                if question:find(q, 1, true) then
                    temp[#temp + 1] = a
                end
            end

            if #temp > 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможные ответы:\n{AAFFAA}' .. table.concat(temp, '\n{AAFFAA}') .. '\n\n{FFFFFF}%1')
            elseif #temp == 1 then
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{33AA33}Возможный ответ: {AAFFAA}' .. temp[1] .. '\n\n{FFFFFF}%1')
            else
                text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FFAAAA}Возможный ответ не найден :(\nПравильный будет сохранён автоматически\n\n{FFFFFF}%1')
            end
        else
            print(string.format('\nОшибка поиска вопроса:\n\nID: [%s] | Заголовок: [%s]\nСодержимое:\n[%s]\n\n', id, title, text))
            text = text:gsub('\n\n(Введите ответ .+)', '\n\n{FF0000}Вопрос не был найден :(\nОбратитесь к разработчику\n\n{FFFFFF}%1')
            hand_add.status = true
            hand_add.question = question
        end

        return {id, style, title, but_1, but_2, text}
    end
end

function se.onSendDialogResponse(id, but, list, input)
    if hand_add.status and id == 13101 then
        hand_add.answer = input
    end
end

function se.onServerMessage(clr, msg)
    if hand_add.status and msg:find('Поздравляем! Вы успешно взломали замок клада') then
        hand_add.status = false
        add_new(hand_add.question, hand_add.answer)
        return {clr, msg .. ' {85BB65}[Ответ сохранён]'}
    end
end

function main()
    sampRegisterChatCommand('sm', function(coords)
        local x, y, z = coords:match('(.+), (.+), (.+)')
        placeWaypoint(x, y, z)
    end)
end
Вот рабочий оригинал. Лучше скажи, откуда сделать CTRL + C
local path = getWorkingDirectory() .. '\\resource\\QnA Treasures.json'