влкючение диалога с выбором по команде

refgul

Участник
Автор темы
165
21
Версия MoonLoader
.026-beta
Мне нужно чтобы при вводе команды /role id включался диалог который выдает ту или иную вещь, он уже почти настроен но 1 это другое.
Я пишу /role 1 открывается диалог мой который сделан я выбираю пункт и как биндер это все должно работать на определенный айди
Код:
script_author('Shadow Overstunt')
require 'lib.moonloader'
function main()

        while not isSampAvailable() do wait(0) end
    
            sampRegisterChatCommand("role", role)
            sampAddChatMessage("{008000}[HELPER]{008000} {FFFFFF}Скрипт успешно загружен. Создатель - {FF0000}Shadow Overstunt{FF0000}", stColor)
            while true do
        wait(0)
        local result, button, list, input = sampHasDialogRespond(1999)
                if result then
                    if button == 1 and list == 0 then
                            lua_thread.create(function()
                            sampSendChat("/a z /aad")
                            wait(6000)
                            sampSendChat("/aad [INFO] Хотите стать администратором на Youtube Rp не платив денег?")
                            wait(6000)
                            sampSendChat("/aad [INFO] На нашем форуме f вы можете подать заявку на админку!")
                            wait(6000)
                            sampSendChat("/aad [INFO] Вам просто нужно зарегистрировать аккаунт на форуме и перейти...")
                            wait(6000)
                            sampSendChat("/aad [INFO] ... в раздел Сервер Ruby, далее пролистать в самый низ и будет тема с заявками")
                            wait(6000)
                            sampSendChat("/aad [INFO] Если у вас ЧС администрации, то спешу сообщить что у нас открыты заявления на амнистию")
                            wait(6000)
                            sampSendChat("/aad [INFO] А также открыты заявки на восстановление должности и обычной админки.")
                            wait(6000)
                            sampSendChat("/aad [INFO] Спасибо за внимание, администрация Youtube RP желает вам приятной игры.")
                            wait(2000)
                            sampSendChat("/a o /aad")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 1 then
                            lua_thread.create(function()
                            sampSendChat("Тема лекции: «Правило Миранды»")
                            wait(6000)
                            sampSendChat("Правило Миранды — юридическое требование в США")
                            wait(6000)
                            sampSendChat("Согласно которому во время задержания задерживаемый должен быть уведомлен о своих правах.")
                            wait(6000)
                            sampSendChat("Это правило зачитываются задержанному, а читает её кто сам задержал его.")
                            wait(6000)
                            sampSendChat("Это фраза говорится, когда вы надели на задержанного наручники. ")
                            wait(6000)
                            sampSendChat("Цитирую саму фразу:")
                            wait(6000)
                            sampSendChat("Вы арестованы. Вы имеете право хранить молчание. ")
                            wait(6000)
                            sampSendChat("Всё, что вы скажете, может быть использовано против вас. ")
                            wait(6000)
                            sampSendChat("У вас есть право на один телефонный звонок и адвоката.")
                            wait(6000)
                            sampSendChat("И помните, зачитать миранду обязан каждый полицейский, который проводит арест.")
                            wait(6000)
                            sampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 2 then
                            lua_thread.create(function()
                            sampSendChat("Тема лекции: «Изъятие запрещённых вещей»")
                            wait(6000)
                            sampSendChat("Проводить изъятие запрещённых вещей может Сержант и выше. ")
                            wait(6000)
                            sampSendChat("Если нет такой возможности, то попросите уполномоченного сотрудника.")
                            wait(6000)
                            sampSendChat("Когда вы провели обыск задержанного и нашли у него огнестрельное оружие,")
                            wait(6000)
                            sampSendChat("Запрещённые вещи, то это изымается на месте. ")
                            wait(6000)
                            sampSendChat("Каждый преступник подлежит обыску перед посадкой в тюрьму")
                            wait(6000)
                            sampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 3 then
                            lua_thread.create(function()
                            sampSendChat("Тема лекции: «Рация»")
                            wait(6000)
                            sampSendChat("Рация — это источник связи с коллегами полиции, для передачи важной информации.")
                            wait(6000)
                            sampSendChat("В рации звучит такая информация, как доклады с постов и тому подобное.")
                            wait(6000)
                            sampSendChat("В рации запрещены всякие оскорбления, мат, угрозы,")
                            wait(6000)
                            sampSendChat("В рацию запрещено сообщать бессмысленные сообщения.")
                            wait(6000)
                            sampSendChat("За нарушение данных правил вы будите наказаны.")
                            wait(6000)
                            sampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 4 then
                            lua_thread.create(function()
                            sampSendChat("Тема лекции: «Уважительное общение с гражданскими»")
                            wait(6000)
                            sampSendChat("Каждый сотрудник Полиции должен уважительно общаться с гражданами.")
                            wait(6000)
                            sampSendChat("Если сотрудник полиции хочет спросить паспорт или узнать ваше Имя Фамилия.")
                            wait(6000)
                            sampSendChat("То он должен представиться. Общение с гражданами на «Вы».")
                            wait(6000)
                            sampSendChat("А затем вежливо просим документы, если их нету,")
                            wait(6000)
                            sampSendChat("То тогда идём в участок и устанавливаем личность.")
                            wait(6000)
                            sampSendChat("И помните общение сотрудника всегда основано на уважении собеседника")
                            wait(6000)
                            sampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 5 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Субординация»")
                            wait(6000)
                            sampSendChat("Субординация - положение индивидуума в системе отношений подчиненный-начальник.")
                            wait(6000)
                            sampSendChat("Субординация предусматривает уважительные отношения между сотрудниками.")
                            wait(6000)
                            sampSendChat("За несоблюдение субординации, Вы получите соответствующие наказание.")
                            wait(6000)
                            sampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 6 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Правила строя»")
                            wait(6000)
                            sampSendChat("После оповещения о строе все сотрудники обязаны в срочном порядке прибыть на место строя.")
                            wait(6000)
                            sampSendChat("Построение происходит в следующем порядке: Police Academy, Patrol Police, Detective Bureau, Military Police, Customs Service, S.W.A.T.")
                            wait(6000)
                            sampSendChat("При опоздании офицер обязан молча стать в конец строя.")
                            wait(6000)
                            sampSendChat("В строю категорически запрещено: разговаривать, использовать часы и телефон,")
                            wait(6000)
                            sampSendChat("танцевать, спать, стрелять, выходить из строя без разрешения.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 7 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Огнестрельное оружие»")
                            wait(6000)
                            sampSendChat("Следите за исправностью личного оружия.")
                            wait(6000)
                            sampSendChat("Следите за количеством боеприпасов для оружия.")
                            wait(6000)
                            sampSendChat("Не направляйте оружие на невинных людей.")
                            wait(6000)
                            sampSendChat("Применяйте оружие только если уверены, что люди возле вас не пострадают.")
                            wait(6000)
                            sampSendChat("В общественных местах, применяйте оружие только в случае крайней необходимости.")
                            wait(6000)
                            sampSendChat("В городе старайтесь стрелять по шинам.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 8 then
                            lua_thread.create(function()
                            sampSendChat("Тема лекции «Федеральное постановление»")
                            wait(6000)
                            sampSendChat("Федеральное постановление — это нормативно-правовой документ,")
                            wait(6000)
                            sampSendChat("Который регулирует взаимоотношения между сотрудниками гос.структур,")
                            wait(6000)
                            sampSendChat("А также регламентирует список возможных нарушений и соответствующих наказаний.")
                            wait(6000)
                            sampSendChat("К примеру, директор ФБР приказал сотруднику LVPD явиться в офис ФБР,")
                            wait(6000)
                            sampSendChat("Но данный сотрудник не только проигнорировал его,")
                            wait(6000)
                            sampSendChat("Но и играл в казино в рабочее время. За это он может попросту быть уволенным.")
                            wait(6000)
                            sampSendChat("В его же личное дело пойдет следующие статьи: 1.8 и 1.12")
                            wait(6000)
                            sampSendChat("В которых говорится об игре в казино и неподчинении.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 9 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Правила сна»")
                            wait(6000)
                            sampSendChat("В нашем полицейском департаменте запрещено спать где попало.")
                            wait(6000)
                            sampSendChat("Для этого есть специально отведенные места:")
                            wait(6000)
                            sampSendChat("Любой сотрудник имеет право спать в оружейной комнате или в раздевалке,")
                            wait(6000)
                            sampSendChat("и не более 20 минут в час.")
                            wait(6000)
                            sampSendChat("/b Запрещено сбрасывать счетчик АФК (выходить с АФК множество раз)")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                        if button == 1 and list == 10 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Обеденный перерыв»")
                            wait(6000)
                            sampSendChat("Время обеденного перерыва с 14:00 до 15:00.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва Вы имеете право:")
                            wait(6000)
                            sampSendChat("Снять форму, сдать оружие и пойти по своим личным делам.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва строго запрещено:")
                            wait(6000)
                            sampSendChat("Нарушать ПДД, уголовный и административный кодексы,")
                            wait(6000)
                            sampSendChat("Законы штата, употреблять наркотические вещества")
                            wait(6000)
                            sampSendChat("А так же выпивать алкогольные напитки.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                                                if button == 1 and list == 11 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Обеденный перерыв»")
                            wait(6000)
                            sampSendChat("Время обеденного перерыва с 14:00 до 15:00.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва Вы имеете право:")
                            wait(6000)
                            sampSendChat("Снять форму, сдать оружие и пойти по своим личным делам.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва строго запрещено:")
                            wait(6000)
                            sampSendChat("Нарушать ПДД, уголовный и административный кодексы,")
                            wait(6000)
                            sampSendChat("Законы штата, употреблять наркотические вещества")
                            wait(6000)
                            sampSendChat("А так же выпивать алкогольные напитки.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                                                if button == 1 and list == 12 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Обеденный перерыв»")
                            wait(6000)
                            sampSendChat("Время обеденного перерыва с 14:00 до 15:00.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва Вы имеете право:")
                            wait(6000)
                            sampSendChat("Снять форму, сдать оружие и пойти по своим личным делам.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва строго запрещено:")
                            wait(6000)
                            sampSendChat("Нарушать ПДД, уголовный и административный кодексы,")
                            wait(6000)
                            sampSendChat("Законы штата, употреблять наркотические вещества")
                            wait(6000)
                            sampSendChat("А так же выпивать алкогольные напитки.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Скрипт закончил свою работу.",0x0633E5)
                            end)
                        end
                                                if button == 1 and list == 13 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Обеденный перерыв»")
                            wait(6000)
                            sampSendChat("Время обеденного перерыва с 14:00 до 15:00.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва Вы имеете право:")
                            wait(6000)
                            sampSendChat("Снять форму, сдать оружие и пойти по своим личным делам.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва строго запрещено:")
                            wait(6000)
                            sampSendChat("Нарушать ПДД, уголовный и административный кодексы,")
                            wait(6000)
                            sampSendChat("Законы штата, употреблять наркотические вещества")
                            wait(6000)
                            sampSendChat("А так же выпивать алкогольные напитки.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Вы рассказали лекцию.", 0x0633E5)
                            end)
                        end
                                                if button == 1 and list == 14 then
                            lua_thread.create(function()
                            sampSendChat("Лекция на тему «Обеденный перерыв»")
                            wait(6000)
                            sampSendChat("Время обеденного перерыва с 14:00 до 15:00.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва Вы имеете право:")
                            wait(6000)
                            sampSendChat("Снять форму, сдать оружие и пойти по своим личным делам.")
                            wait(6000)
                            sampSendChat("Во время обеденного перерыва строго запрещено:")
                            wait(6000)
                            sampSendChat("Нарушать ПДД, уголовный и административный кодексы,")
                            wait(6000)
                            sampSendChat("Законы штата, употреблять наркотические вещества")
                            wait(6000)
                            sampSendChat("А так же выпивать алкогольные напитки.")
                            wait(6000)
                            ssampSendChat("На этом лекция окончена. Вопросы имееются?")
                            wait(2000)
                            sampAddChatMessage("{FFFFFF}Вы рассказали лекцию.", 0x0633E5)
                            end)
                        end

                        if button == 0 then
                        sampCloseCurrentDialogWithButton(0)
                        end
                    end
                end
end



function role()
    sampShowDialog(1999, "{FFFFFF}Назначение роли", string.format("{FFFFFF}Открыты заявления на админку\n2.ГС гетто.\n3.ЗГС гетто.\n4.ГС мафий.\n5.ЗГС мафий.\n6.ГС госс.\n7.ЗГС госс.\n8.ГС хелперов.\n9.ЗГС хелперов.\n10.Заместитель ГА.\n11.Главный Администратор.\n12.Куратор Сервера.\n13.Руководитель.\n14.Помощник основателя"), "Отправить", "Закрыть", 2)
    end


На 1 пункт не обращайте внимания
 
Решение
Lua:
-- Эту строчку в начало. Под require 'lib.moonloader'.
local playerId = -1

function role(id)
    if tonumber(id) ~= nil then
        if sampIsPlayerConnected(id) then
            playerId = id
            sampShowDialog(...) -- Твой диалог
        end
    end
end

-- Для взаимодействия с игроком используешь переменную playerId -> sampAddChatMessage("ID: "..playerId, -1)

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
Не особо понял, что именно тебе нужно...
Ты хочешь, чтобы при вводе /role 1 у тебя открывалось одно диалоговое окно, а при вводе /role 2 другое? Если да, то вот:
Lua:
function role(id)
    if tonumber(id) == 1 then
        sampShowDialog(...) -- Первый диалог. Вместо точек свою инфу: заголовок, текст и т.д
    elseif tonumber(id) == 2 then
        sampShowDialog(...) -- Второй диалог
    end
end
 

moreveal

Известный
Проверенный
926
620
Не особо понял, что именно тебе нужно...
Ты хочешь, чтобы при вводе /role 1 у тебя открывалось одно диалоговое окно, а при вводе /role 2 другое? Если да, то вот:
Lua:
function role(id)
    if tonumber(id) == 1 then
        sampShowDialog(...) -- Первый диалог. Вместо точек свою инфу: заголовок, текст и т.д
    elseif tonumber(id) == 2 then
        sampShowDialog(...) -- Второй диалог
    end
end
мне кажется, он хочет указать в команде айди игрока, чтобы по нажатию на пункт в диалоге начинался бинд с этим айдишником
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
Lua:
-- Эту строчку в начало. Под require 'lib.moonloader'.
local playerId = -1

function role(id)
    if tonumber(id) ~= nil then
        if sampIsPlayerConnected(id) then
            playerId = id
            sampShowDialog(...) -- Твой диалог
        end
    end
end

-- Для взаимодействия с игроком используешь переменную playerId -> sampAddChatMessage("ID: "..playerId, -1)
 
  • Нравится
Реакции: refgul

refgul

Участник
Автор темы
165
21
Lua:
-- Эту строчку в начало. Под require 'lib.moonloader'.
local playerId = -1

function role(id)
    if tonumber(id) ~= nil then
        if sampIsPlayerConnected(id) then
            playerId = id
            sampShowDialog(...) -- Твой диалог
        end
    end
end

-- Для взаимодействия с игроком используешь переменную playerId -> sampAddChatMessage("ID: "..playerId, -1)
че если я утюг и не ебу как использовать переменную плеер ид
 

Dmitriy Makarov

25.05.2021
Проверенный
2,505
1,134
че если я утюг и не ебу как использовать переменную плеер ид
Lua:
sampShowDialog(123, "Взаимодействие с "..sampGetPlayerNickname(playerId), "Передать привет", "Выбрать", "Закрыть", 2)

-- while true do
local result, button, list, input = sampHasDialogRespond(123)
if result then
    if button == 1 and list == 0 then
        sampSendChat("Привет, "..sampGetPlayerNickname(playerId)) -- Привет, Nick_Name
    end
end

-- Для вывода его никнейма: sampGetPlayerNickname(playerId)
-- Для вывода его ID: playerId
-- Для вывода и того и другого в формате Nick_Name[ID]:
-- sampGetPlayerNickname(playerId).."["..playerId.."]" или же string.format("%s[%d]", sampGetPlayerNickname(playerId), playerId)
 
  • Нравится
Реакции: refgul

refgul

Участник
Автор темы
165
21
Lua:
sampShowDialog(123, "Взаимодействие с "..sampGetPlayerNickname(playerId), "Передать привет", "Выбрать", "Закрыть", 2)

-- while true do
local result, button, list, input = sampHasDialogRespond(123)
if result then
    if button == 1 and list == 0 then
        sampSendChat("Привет, "..sampGetPlayerNickname(playerId)) -- Привет, Nick_Name
    end
end

-- Для вывода его никнейма: sampGetPlayerNickname(playerId)
-- Для вывода его ID: playerId
-- Для вывода и того и другого в формате Nick_Name[ID]:
-- sampGetPlayerNickname(playerId).."["..playerId.."]" или же string.format("%s[%d]", sampGetPlayerNickname(playerId), playerId)
Лучший брат
 
  • Нравится
Реакции: Dmitriy Makarov