Как сюда добавить тег

karloooe

Новичок
Автор темы
3
0
Версия MoonLoader
.026-beta
Хочу чтоб можно было указать тег, он сохранялся, дабы каждый раз не вводить его.
к примеру, чтоб когда читаешь лекцию - он приписывал ТЭГ автоматом.
Пример: /r [ТЕГ]: дальше текст из лекций.



Lua:
script_name('MOLec')
script_author('vidix')
script_version(1.1)
script_version_number(1)

require 'lib.moonloader'

local prefix = '[{f5c06c}MOLec{ffffff}]:'

-- // Массивы для диалогов //
local dialogArr12 = {'Мини-лекции в рацию', 'Лекции'}
local dialogArr13 = {'Комендантский час', 'Увольнительное время', 'Самовол'}
local dialogArr14 = {'Общение и субординация', 'Общие запреты', 'Увольнительное время', 'Поведение на КПП', 'Самовол', 'Поведение в строю'}

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while not sampIsLocalPlayerSpawned() do wait(120) end

    nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):gsub('_', ' ')

    -- // Массивы отыгровок //
    lection_r = {
        [0] = {'/r Дорогие военнослужащие, минуточку внимания! С 20:00 до 08:00 действует ...', '/r ... комендантский час! А это значит ...', '/r Безопасное расстояние от КПП - 100м. Проникновение, маска, стрельба - огонь на поражения! ...', '/r ... Службу несем в полной боекомплектности!', '/r Спасибо за внимание! С уважением ' .. nick .. '.'},
        [1] = {'/r Дорогие военнослужащие, минуточку внимания! С 21:00 до 08:00 действует ...', '/r ... увольнительное время. В которое вы можете встретиться с друзьями, ...', '/r ... оплатить дом / бизнес, сьездить по личным делам и тому подобное.', '/r Для этого вы должны оставить оружие и бронежилет на базе.', '/r Спасибо за внимание! С уважением ' .. nick .. '.'},
        [2] = {'/r Дорогие военнослужащие, минуточку внимания.', '/r Напоминаю вам, что покидать базу без разрешения во время службы ...', '/r ... строго запрещено. Вы обязаны взять разрешение у любого офицера.', '/r Самовол карается демобилизацией или нярядом.', '/r Спасибо за внимание! С уважением ' .. nick .. '.'}
    }

    lection = {
        [0] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общение и субординация".', 'Вы обязаны проявлять уважение к другим военнослужащим.', 'Обращаться строго по уставному общению.', 'При приветствии - здравия желаю или Приветствую, товарищ и воинское звание.', 'К младшим по званию применять обращение "товарищ" не обязательно.', 'При обращении - товарищ и его воинское звание, разрешите обратиться?', 'Обращение исключительно на Вы.', 'При докладе - товарищ и его воинское звание, по Вашему приказанию прибыл.', 'При ответе - так точно, никак нет, виноват, не могу знать, есть. При вызове ответ - я.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [1] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общие запреты".', 'Как вы все знаете, нельзя не выполнять прямых приказов старших офицеров.', 'Также покидать базу без разрешения или предупреждения.', 'Разрешение можно взять у старших офицеров.', 'Запрещено нести службу без бронежилета.', 'Запрещено воровать и тратить боеприпасы впустую ...', '... а так же иное имущество Вооруженных сил штата.', 'Запрещено проводить любые действия, связанные с наркотическими ...', '... и психотропными веществами а так же веществами ...', '... находящимися вне статуса законных и разрешенных.', 'Запрещено употреблять алкоголь во время службы.', 'Запрещено нарушать правила использования рации.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [2] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Увольнительное время".', 'Увольнительное время доступно в период с 21:00 по 8:00.', 'В увольнения имеют право ходить военнослужащие с воинского звания ...', '... "Ефрейтор" и выше, учитывая состояние склада боеприпасов.', 'Командиры и заместители командира воинских частей имеют право прервать ...', '... или запретить их подчиненным увольнительное по веской ...', '... причине: наличие ЧС на территории военных объектов министерства ...', '... плохое состояние склада, вне зависимости от разницы званий.', 'Военнослужащий обязан сдать все свое оружие и снять бронежилет при выходе ...', '... за территорию воинской части и других военных объектов ...', '... Министерства Обороны в увольнительное.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [3] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение на КПП".', 'Начнём с того если вы увидели подозрительную личность у КПП.', 'Если он на машине, то потребовать выйти из машины.', 'Далее потребовать его документы удостоверяющую личность.', 'В случае игнорировании требований Вы обязаны прогнать подозреваемого ...', '... от КПП на 50 метров. Если также игнорируется приказы, Вы обязаны ...', '... дать отсчёт в количестве 5-ти секунд! И после окончания отсчёта ...', '... сделать предупредительный выстрел в воздух.', 'Если человек не торопится уходить от КПП, открыть огонь на поражение.', 'Также, в комендантский час от КПП на 100 метров.', 'Если человек не собирается уходить от КПП, открыть огонь на поражение ...', '... не спрашивая ничего!', 'Если увидите нарушителя на базе, открыть огонь без предупреждения!', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [4] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Самовол".', 'Самоволом считается отсутствие человека на базе вооружённых сил.', 'Например: в казино, магазинах, то-есть в любом месте, которое не считается базой.', 'Если вы ездите с дома или номера, это тоже считается самоволом.', 'Что бывает за самовол? В лучшем случае вас могут покарать нарядом.', 'В худшем демобелизировать. Итог такой ...', '... Вы должны находиться на базе во время военной службы, это ваш второй дом.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [5] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение в строю".', 'В строю строго запрещено:', 'Использовать мобильные средства и рации, спать и находится в строю без снаряжения, ...', '... использовать оружие, вести огонь из строя, покидать строй без разрешения.', 'Строго запрещены лишние телодвижения.', 'Если к вам обращаются, давайте четкий и быстрый ответ.', 'За плохое поведение в строю вы получите наряд или будете демобелизированы.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'}
    }

    print('Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.')
    sampAddChatMessage(prefix ..' Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.', 0xffffff)

    -- // Список лекций // --
    sampRegisterChatCommand('lecmenu', function()
        sampShowDialog(12, 'Список лекций', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
    end)
 
    while true do
        wait(0)
        -- // DIALOG ID 12 // --
        local result, button, list, input = sampHasDialogRespond(12) -- /lecmenu
        if result then
            if button == 1 then
                if list == 0 then
                    sampShowDialog(13, 'Выберите мини-лекцию', arrayDialog(dialogArr13), 'Выбрать', 'Назад', 2)
                elseif list == 1 then
                    sampShowDialog(14, 'Выберите лекцию', arrayDialog(dialogArr14), 'Выбрать', 'Назад', 2)
                end
            end
        end

        -- // DIALOG ID 13 // --
        local result, button, list, input = sampHasDialogRespond(13) -- мини-лекции
        if result then
            if button == 1 then
                arraySendChat(lection_r[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end

        -- // DIALOG ID 14 // --
        local result, button, list, input = sampHasDialogRespond(14) -- лекции
        if result then
            if button == 1 then
                arraySendChat(lection[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end
    end
end

function arrayDialog(array)
    local dialog_str = ''
    for _, str in pairs(array) do
        dialog_str = dialog_str .. str .. '\n'
    end
    return dialog_str
end

function arraySendChat(array, delay)
    lua_thread.create(function()
        for _, str in pairs(array) do
            sampSendChat(str); wait(delay)
        end
    end)
end
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,408
2,090
Lua:
local inicfg = require("inicfg")

local cfg = inicfg.load({
    main = {
        tag = "[ТЕГ]"
    }
}, "MOLec")

onScriptTerminate = function(sc) if sc == script.this then inicfg.save(cfg, "MOLec") end end

function arraySendChat(array, delay) -- старую функцию arraySendChat удали из кода
    lua_thread.create(function()
        for _, str in pairs(array) do
            sampSendChat("/r "..cfg.main.tag..": "..str); wait(delay)
        end
    end)
end

-- запихнуть в функцию main там же, где регистрируются и другие команды
sampRegisterChatCommand("lectag", function(arg)
    cfg.main.tag = arg;
    sampAddChatMessage('Для лекций установлен тег: '..arg, -1)
end)

удали из массива lection_r все "/r ", оставь только сообщения, функция в коде выше будет сама добавлять /r
для смены тега - /lectag <тег>
 

karloooe

Новичок
Автор темы
3
0
Вот, глянь, что-то похоже не так делаю я.

Lua:
script_name('MOLec')
script_author('vidix')
script_version(1.1)
script_version_number(1)

require 'lib.moonloader'
local inicfg = require("inicfg")
local prefix = '[{f5c06c}MOLec{ffffff}]:'

local cfg = inicfg.load({
    main = {
        tag = "[ТЕГ]"
    }
}, "MOLec")
-- // Массивы для диалогов //
local dialogArr12 = {'Мини-лекции в рацию', 'Лекции'}
local dialogArr13 = {'Комендантский час', 'Увольнительное время', 'Самовол'}
local dialogArr14 = {'Общение и субординация', 'Общие запреты', 'Увольнительное время', 'Поведение на КПП', 'Самовол', 'Поведение в строю'}
onScriptTerminate = function(sc) if sc == script.this then inicfg.save(cfg, "MOLec") end end
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while not sampIsLocalPlayerSpawned() do wait(120) end

    nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):gsub('_', ' ')

    -- // Массивы отыгровок //
    lection_r = {
        [0] = {'/r Дорогие военнослужащие, минуточку внимания! С 20:00 до 08:00 действует ...', '/r ... комендантский час! А это значит ...', '/r Безопасное расстояние от КПП - 100м. Проникновение, маска, стрельба - огонь на поражения! ...', '/r ... Службу несем в полной боекомплектности!', '/r Спасибо за внимание! С уважением ' .. nick .. '.'},
        [1] = {'/r Дорогие военнослужащие, минуточку внимания! С 21:00 до 08:00 действует ...', '/r ... увольнительное время. В которое вы можете встретиться с друзьями, ...', '/r ... оплатить дом / бизнес, сьездить по личным делам и тому подобное.', '/r Для этого вы должны оставить оружие и бронежилет на базе.', '/r Спасибо за внимание! С уважением ' .. nick .. '.'},
        [2] = {'/r Дорогие военнослужащие, минуточку внимания.', '/r Напоминаю вам, что покидать базу без разрешения во время службы ...', '/r ... строго запрещено. Вы обязаны взять разрешение у любого офицера.', '/r Самовол карается демобилизацией или нярядом.', '/r Спасибо за внимание! С уважением ' .. nick .. '.'}
    }

    lection = {
        [0] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общение и субординация".', 'Вы обязаны проявлять уважение к другим военнослужащим.', 'Обращаться строго по уставному общению.', 'При приветствии - здравия желаю или Приветствую, товарищ и воинское звание.', 'К младшим по званию применять обращение "товарищ" не обязательно.', 'При обращении - товарищ и его воинское звание, разрешите обратиться?', 'Обращение исключительно на Вы.', 'При докладе - товарищ и его воинское звание, по Вашему приказанию прибыл.', 'При ответе - так точно, никак нет, виноват, не могу знать, есть. При вызове ответ - я.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [1] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общие запреты".', 'Как вы все знаете, нельзя не выполнять прямых приказов старших офицеров.', 'Также покидать базу без разрешения или предупреждения.', 'Разрешение можно взять у старших офицеров.', 'Запрещено нести службу без бронежилета.', 'Запрещено воровать и тратить боеприпасы впустую ...', '... а так же иное имущество Вооруженных сил штата.', 'Запрещено проводить любые действия, связанные с наркотическими ...', '... и психотропными веществами а так же веществами ...', '... находящимися вне статуса законных и разрешенных.', 'Запрещено употреблять алкоголь во время службы.', 'Запрещено нарушать правила использования рации.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [2] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Увольнительное время".', 'Увольнительное время доступно в период с 21:00 по 8:00.', 'В увольнения имеют право ходить военнослужащие с воинского звания ...', '... "Ефрейтор" и выше, учитывая состояние склада боеприпасов.', 'Командиры и заместители командира воинских частей имеют право прервать ...', '... или запретить их подчиненным увольнительное по веской ...', '... причине: наличие ЧС на территории военных объектов министерства ...', '... плохое состояние склада, вне зависимости от разницы званий.', 'Военнослужащий обязан сдать все свое оружие и снять бронежилет при выходе ...', '... за территорию воинской части и других военных объектов ...', '... Министерства Обороны в увольнительное.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [3] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение на КПП".', 'Начнём с того если вы увидели подозрительную личность у КПП.', 'Если он на машине, то потребовать выйти из машины.', 'Далее потребовать его документы удостоверяющую личность.', 'В случае игнорировании требований Вы обязаны прогнать подозреваемого ...', '... от КПП на 50 метров. Если также игнорируется приказы, Вы обязаны ...', '... дать отсчёт в количестве 5-ти секунд! И после окончания отсчёта ...', '... сделать предупредительный выстрел в воздух.', 'Если человек не торопится уходить от КПП, открыть огонь на поражение.', 'Также, в комендантский час от КПП на 100 метров.', 'Если человек не собирается уходить от КПП, открыть огонь на поражение ...', '... не спрашивая ничего!', 'Если увидите нарушителя на базе, открыть огонь без предупреждения!', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [4] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Самовол".', 'Самоволом считается отсутствие человека на базе вооружённых сил.', 'Например: в казино, магазинах, то-есть в любом месте, которое не считается базой.', 'Если вы ездите с дома или номера, это тоже считается самоволом.', 'Что бывает за самовол? В лучшем случае вас могут покарать нарядом.', 'В худшем демобелизировать. Итог такой ...', '... Вы должны находиться на базе во время военной службы, это ваш второй дом.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [5] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение в строю".', 'В строю строго запрещено:', 'Использовать мобильные средства и рации, спать и находится в строю без снаряжения, ...', '... использовать оружие, вести огонь из строя, покидать строй без разрешения.', 'Строго запрещены лишние телодвижения.', 'Если к вам обращаются, давайте четкий и быстрый ответ.', 'За плохое поведение в строю вы получите наряд или будете демобелизированы.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'}
    }

    print('Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.')
    sampAddChatMessage(prefix ..' Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.', 0xffffff)

    -- // Список лекций // --
    sampRegisterChatCommand('lecmenu', function()
    sampRegisterChatCommand("lectag", function(arg)
    cfg.main.tag = arg;
    sampAddChatMessage('Для лекций установлен тег: '..arg, -1)
    end)
        sampShowDialog(12, 'Список лекций', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
    end)
 
    while true do
        wait(0)
        -- // DIALOG ID 12 // --
        local result, button, list, input = sampHasDialogRespond(12) -- /lecmenu
        if result then
            if button == 1 then
                if list == 0 then
                    sampShowDialog(13, 'Выберите мини-лекцию', arrayDialog(dialogArr13), 'Выбрать', 'Назад', 2)
                elseif list == 1 then
                    sampShowDialog(14, 'Выберите лекцию', arrayDialog(dialogArr14), 'Выбрать', 'Назад', 2)
                end
            end
        end

        -- // DIALOG ID 13 // --
        local result, button, list, input = sampHasDialogRespond(13) -- мини-лекции
        if result then
            if button == 1 then
                arraySendChat(lection_r[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end

        -- // DIALOG ID 14 // --
        local result, button, list, input = sampHasDialogRespond(14) -- лекции
        if result then
            if button == 1 then
                arraySendChat(lection[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end
    end
end

function arrayDialog(array)
    local dialog_str = ''
    for _, str in pairs(array) do
        dialog_str = dialog_str .. str .. '\n'
    end
    return dialog_str
end

function arraySendChat(array, delay) -- старую функцию arraySendChat удали из кода
    lua_thread.create(function()
        for _, str in pairs(array) do
            sampSendChat("/r "..cfg.main.tag..": "..str); wait(delay)
        end
    end)
end
onScriptTerminate = function(sc) if sc == script.this then inicfg.save(cfg, "MOLec") end end
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,408
2,090
Вот, глянь, что-то похоже не так делаю я.
Lua:
script_name('MOLec')
script_author('vidix')
script_version(1.1)
script_version_number(1)

require 'lib.moonloader'
local inicfg = require("inicfg")
local prefix = '[{f5c06c}MOLec{ffffff}]:'

local cfg = inicfg.load({
    main = {
        tag = "[ТЕГ]"
    }
}, "MOLec")
-- // Массивы для диалогов //
local dialogArr12 = {'Мини-лекции в рацию', 'Лекции'}
local dialogArr13 = {'Комендантский час', 'Увольнительное время', 'Самовол'}
local dialogArr14 = {'Общение и субординация', 'Общие запреты', 'Увольнительное время', 'Поведение на КПП', 'Самовол', 'Поведение в строю'}

onScriptTerminate = function(sc) if sc == script.this then inicfg.save(cfg, "MOLec") end end

function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while not sampIsLocalPlayerSpawned() do wait(120) end

    nick = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED))):gsub('_', ' ')

    -- // Массивы отыгровок //
    lection_r = {
        [0] = {'Дорогие военнослужащие, минуточку внимания! С 20:00 до 08:00 действует ...', '... комендантский час! А это значит ...', 'Безопасное расстояние от КПП - 100м. Проникновение, маска, стрельба - огонь на поражения! ...', '... Службу несем в полной боекомплектности!', 'Спасибо за внимание! С уважением ' .. nick .. '.'},
        [1] = {'Дорогие военнослужащие, минуточку внимания! С 21:00 до 08:00 действует ...', '... увольнительное время. В которое вы можете встретиться с друзьями, ...', '... оплатить дом / бизнес, сьездить по личным делам и тому подобное.', 'Для этого вы должны оставить оружие и бронежилет на базе.', 'Спасибо за внимание! С уважением ' .. nick .. '.'},
        [2] = {'Дорогие военнослужащие, минуточку внимания.', 'Напоминаю вам, что покидать базу без разрешения во время службы ...', '... строго запрещено. Вы обязаны взять разрешение у любого офицера.', 'Самовол карается демобилизацией или нярядом.', 'Спасибо за внимание! С уважением ' .. nick .. '.'}
    }

    lection = {
        [0] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общение и субординация".', 'Вы обязаны проявлять уважение к другим военнослужащим.', 'Обращаться строго по уставному общению.', 'При приветствии - здравия желаю или Приветствую, товарищ и воинское звание.', 'К младшим по званию применять обращение "товарищ" не обязательно.', 'При обращении - товарищ и его воинское звание, разрешите обратиться?', 'Обращение исключительно на Вы.', 'При докладе - товарищ и его воинское звание, по Вашему приказанию прибыл.', 'При ответе - так точно, никак нет, виноват, не могу знать, есть. При вызове ответ - я.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [1] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Общие запреты".', 'Как вы все знаете, нельзя не выполнять прямых приказов старших офицеров.', 'Также покидать базу без разрешения или предупреждения.', 'Разрешение можно взять у старших офицеров.', 'Запрещено нести службу без бронежилета.', 'Запрещено воровать и тратить боеприпасы впустую ...', '... а так же иное имущество Вооруженных сил штата.', 'Запрещено проводить любые действия, связанные с наркотическими ...', '... и психотропными веществами а так же веществами ...', '... находящимися вне статуса законных и разрешенных.', 'Запрещено употреблять алкоголь во время службы.', 'Запрещено нарушать правила использования рации.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [2] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Увольнительное время".', 'Увольнительное время доступно в период с 21:00 по 8:00.', 'В увольнения имеют право ходить военнослужащие с воинского звания ...', '... "Ефрейтор" и выше, учитывая состояние склада боеприпасов.', 'Командиры и заместители командира воинских частей имеют право прервать ...', '... или запретить их подчиненным увольнительное по веской ...', '... причине: наличие ЧС на территории военных объектов министерства ...', '... плохое состояние склада, вне зависимости от разницы званий.', 'Военнослужащий обязан сдать все свое оружие и снять бронежилет при выходе ...', '... за территорию воинской части и других военных объектов ...', '... Министерства Обороны в увольнительное.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [3] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение на КПП".', 'Начнём с того если вы увидели подозрительную личность у КПП.', 'Если он на машине, то потребовать выйти из машины.', 'Далее потребовать его документы удостоверяющую личность.', 'В случае игнорировании требований Вы обязаны прогнать подозреваемого ...', '... от КПП на 50 метров. Если также игнорируется приказы, Вы обязаны ...', '... дать отсчёт в количестве 5-ти секунд! И после окончания отсчёта ...', '... сделать предупредительный выстрел в воздух.', 'Если человек не торопится уходить от КПП, открыть огонь на поражение.', 'Также, в комендантский час от КПП на 100 метров.', 'Если человек не собирается уходить от КПП, открыть огонь на поражение ...', '... не спрашивая ничего!', 'Если увидите нарушителя на базе, открыть огонь без предупреждения!', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [4] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Самовол".', 'Самоволом считается отсутствие человека на базе вооружённых сил.', 'Например: в казино, магазинах, то-есть в любом месте, которое не считается базой.', 'Если вы ездите с дома или номера, это тоже считается самоволом.', 'Что бывает за самовол? В лучшем случае вас могут покарать нарядом.', 'В худшем демобелизировать. Итог такой ...', '... Вы должны находиться на базе во время военной службы, это ваш второй дом.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'},
        [5] = {'Здравия желаю, военнослужащие вооружённых сил!', 'Сейчас я проведу вам лекцию на тему "Поведение в строю".', 'В строю строго запрещено:', 'Использовать мобильные средства и рации, спать и находится в строю без снаряжения, ...', '... использовать оружие, вести огонь из строя, покидать строй без разрешения.', 'Строго запрещены лишние телодвижения.', 'Если к вам обращаются, давайте четкий и быстрый ответ.', 'За плохое поведение в строю вы получите наряд или будете демобелизированы.', 'На этом я закончу свою лекцию, надеюсь вы меня услышали. Всем спасибо.'}
    }

    print('Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.')
    sampAddChatMessage(prefix ..' Скрипт для проведения лекций МО загружен! Введите команду /lecmenu.', 0xffffff)

    sampRegisterChatCommand("lectag", function(arg)
      cfg.main.tag = arg;
      sampAddChatMessage('Для лекций установлен тег: '..arg, -1)
    end)
    -- // Список лекций // --
    sampRegisterChatCommand('lecmenu', function()
        sampShowDialog(12, 'Список лекций', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
    end)
 
    while true do
        wait(0)
        -- // DIALOG ID 12 // --
        local result, button, list, input = sampHasDialogRespond(12) -- /lecmenu
        if result then
            if button == 1 then
                if list == 0 then
                    sampShowDialog(13, 'Выберите мини-лекцию', arrayDialog(dialogArr13), 'Выбрать', 'Назад', 2)
                elseif list == 1 then
                    sampShowDialog(14, 'Выберите лекцию', arrayDialog(dialogArr14), 'Выбрать', 'Назад', 2)
                end
            end
        end

        -- // DIALOG ID 13 // --
        local result, button, list, input = sampHasDialogRespond(13) -- мини-лекции
        if result then
            if button == 1 then
                arraySendChat(lection_r[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end

        -- // DIALOG ID 14 // --
        local result, button, list, input = sampHasDialogRespond(14) -- лекции
        if result then
            if button == 1 then
                arraySendChat(lection[list], 3000)
            else
                sampShowDialog(12, 'Выберите тип лекции', arrayDialog(dialogArr12), 'Выбрать', 'Закрыть', 2)
            end
        end
    end
end

function arrayDialog(array)
    local dialog_str = ''
    for _, str in pairs(array) do
        dialog_str = dialog_str .. str .. '\n'
    end
    return dialog_str
end

function arraySendChat(array, delay)
    lua_thread.create(function()
        for _, str in pairs(array) do
            sampSendChat("/r "..cfg.main.tag..": "..str); wait(delay)
        end
    end)
end