sampSendChat(/kek)Отвечает только на серверные команды по типу /mm [СЕРЬЕЗНАЯ ПРОБЛЕМА]

cobalt

Новичок
Автор темы
15
0
Версия MoonLoader
.026-beta
У меня есть команда в скрипте /kek - она открывает счетчик реального времени. Есть диалоговое окно, в котором есть кнопка "Время" и к которой я пытаюсь привязать команду /kek. Но все в бестолку. А вот если заменю /kek на /mm то все чики пуки, нажимаю на кнопочку "Время" и открывается меню сервера. Вопрос стоит таким образом, как сделать так чтобы sampSendChat прописывал /kek. (Может sampSendChat надо заменить на другое я хз) ЕСЛИ САМ ПРОПИШУ /kek то счетчик реального времени заработает - но мне надо чтобы он врубался по кнопке "Время" в диалоговом окне. Разжувал все максимально подробно. Хотел вообще на прямую все сделать, жмешь на кноп о4ку и включается время, но как я понял это никто не подскажет, ибо ждал ответа 2 часа так никто и не ответил. БУДУ БЛАГОДАРЕН ЗА ПОНЯТНЫЙ ОТВЕТ
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
 
Последнее редактирование:

cobalt

Новичок
Автор темы
15
0
какая еще ошибка?
Жди скриншот.
какая еще ошибка?
1598637428883.png

какая еще ошибка?
луа не понимает что это за функция такая интересная "sampProcessChatInput "
 

kizn

\ 0 _ 0 /
Всефорумный модератор
2,406
2,090

cobalt

Новичок
Автор темы
15
0
ебать у тебя сампфункс древний, может и мун тоже?
ща чекну обновы, я не понимаю блять че за хуйня, эта залупа ебет мне мозг весь день
а нахуя тебе вызывать (!!!)команду своего же скрипта, если можно такую же функцию просто поместить в логику диалога?
Я не умею, я создавал тему 5 часов назад, мол как это сделать - ни кто не ответил.
 

andrey_hacker

Известный
274
88
ща чекну обновы, я не понимаю блять че за хуйня, эта залупа ебет мне мозг весь день

Я не умею, я создавал тему 5 часов назад, мол как это сделать - ни кто не ответил.
Так просто делаешь
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            
                    flag = not flag
                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