- 15
- 0
- Версия MoonLoader
- .026-beta
У меня есть команда в скрипте /kek - она открывает счетчик реального времени. Есть диалоговое окно, в котором есть кнопка "Время" и к которой я пытаюсь привязать команду /kek. Но все в бестолку. А вот если заменю /kek на /mm то все чики пуки, нажимаю на кнопочку "Время" и открывается меню сервера. Вопрос стоит таким образом, как сделать так чтобы sampSendChat прописывал /kek. (Может sampSendChat надо заменить на другое я хз) ЕСЛИ САМ ПРОПИШУ /kek то счетчик реального времени заработает - но мне надо чтобы он врубался по кнопке "Время" в диалоговом окне. Разжувал все максимально подробно. Хотел вообще на прямую все сделать, жмешь на кноп о4ку и включается время, но как я понял это никто не подскажет, ибо ждал ответа 2 часа так никто и не ответил. БУДУ БЛАГОДАРЕН ЗА ПОНЯТНЫЙ ОТВЕТ
UPD: sampProcessChatInput НЕ РАБОТАЕТ ЛУА ВЫДАЕТ ОШИБКУ В КОНСОЛИ!!!!!!!!!!!!!!!!!!!!!!!
Отрывок кода ниже
UPD: sampProcessChatInput НЕ РАБОТАЕТ ЛУА ВЫДАЕТ ОШИБКУ В КОНСОЛИ!!!!!!!!!!!!!!!!!!!!!!!
Отрывок кода ниже
Lua:
require "lib.moonloader"
local color_dialog = 0xDEB887
local zalupa = '{FFFFFF}xxx {DAA520}xxx-'
-- Для диалога с ID 12
local dialogArr = {"{FF01FF}xxx", "{DAA520}Время", "{FF00FF}Это цветной пункт"}
local dialogStr = ""
local flag = false
local font = renderCreateFont("Arial", 20, 15) --creating font
local sampev = require 'lib.samp.events'
for _, str in ipairs(dialogArr) do
dialogStr = dialogStr .. str .. "\n"
end
function main ()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
sampAddChatMessage(zalupa .. " {FFFFFF}Loaded", 0xFFE4B5)
sampRegisterChatCommand("dialog", cmd_dialog)
sampRegisterChatCommand('kek', function() flag = not flag end)
wait(0)
while true do
wait(0)
if flag then
renderFontDrawText(font, os.date(), 10, 250, 0xFFBEBEBE)
end
local result, button, list, input = sampHasDialogRespond(12) -- /dialog2 (ListBox
if result then -- если диалог открыт
if button == 1 then -- если нажата первая кнопка (Выбрать)
if list == 0 then
sampSendChat("/kek")
end
else -- если нажата вторая кнопка (Закрыть)
sampAddChatMessage(zalupa .. " {FFFFFF}Loaded", 0xFFE4B5)
end
end
end
end
function cmd_dialog(arg)
if #arg == 0 then
sampAddChatMessage("Введите аргумент [0-5]", color_dialog)
end
if tonumber(arg) == 0 then
elseif tonumber(arg) == 2 then
sampShowDialog(12, "Диалог с типом ID 2 (ListBox)", dialogStr, "Выбрать", "Закрыть", 2)
end
end
Последнее редактирование: