[LUA] Ошибка [LUA]

Immortal-

Участник
Автор темы
67
1
Версия MoonLoader
Другое
Здравствуйте, у меня появилась ошибка, не знаю из за чего.
[Immortal-] Piar for ArizonaRP: opcode '0AF9' call caused an unhandled exception
stack traceback:
[C]: in function 'sampSendChat'

\moonloader\Immortal_Arizona_VR_Piar.lua:147: in function

moonloader\Immortal_Arizona_VR_Piar.lua:137>

Код:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    -- Блок, который выполняеться 1 раз!
    sampRegisterChatCommand("piar", cmd_piar) -- Ригстрация команды /piar в чат
    while true do
        -- Бесконечный цикл
        wait(0)
        if piar.v then
            sampSendChat(u8:decode(text_piar.v))
            wait(30000)
        end       
    end
end
 

frit

Известный
389
174
Здравствуйте, у меня появилась ошибка, не знаю из за чего.
[Immortal-] Piar for ArizonaRP: opcode '0AF9' call caused an unhandled exception
stack traceback:
[C]: in function 'sampSendChat'

\moonloader\Immortal_Arizona_VR_Piar.lua:147: in function
moonloader\Immortal_Arizona_VR_Piar.lua:137>
Код:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    -- Блок, который выполняеться 1 раз!
    sampRegisterChatCommand("piar", cmd_piar) -- Ригстрация команды /piar в чат
    while true do
        -- Бесконечный цикл
        wait(0)
        if piar.v then
            sampSendChat(u8:decode(text_piar.v))
            wait(30000)
        end       
    end
end
полный код скинь
 

Immortal-

Участник
Автор темы
67
1
полный код скинь
Lua:
script_name('[Immortal-] Piar for ArizonaRP') -- Название Скрипта
script_author('Immortal-') -- Автор

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем тип кодировки
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251'
u8 = encoding.UTF8

-- Стиль
function apply_custom_style()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4

    style.WindowRounding = 2.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    style.ChildWindowRounding = 2.0
    style.FrameRounding = 2.0
    style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
    style.ScrollbarSize = 13.0
    style.ScrollbarRounding = 0
    style.GrabMinSize = 8.0
    style.GrabRounding = 1.0

    colors[clr.FrameBg]                                = ImVec4(0.48, 0.16, 0.16, 0.54)
    colors[clr.FrameBgHovered]                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    colors[clr.FrameBgActive]                    = ImVec4(0.98, 0.26, 0.26, 0.67)
    colors[clr.TitleBg]                                = ImVec4(0.04, 0.04, 0.04, 1.00)
    colors[clr.TitleBgActive]                    = ImVec4(0.48, 0.16, 0.16, 1.00)
    colors[clr.TitleBgCollapsed]             = ImVec4(0.00, 0.00, 0.00, 0.51)
    colors[clr.CheckMark]                            = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.SliderGrab]                         = ImVec4(0.88, 0.26, 0.24, 1.00)
    colors[clr.SliderGrabActive]             = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.Button]                                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    colors[clr.ButtonHovered]                    = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.ButtonActive]                     = ImVec4(0.98, 0.06, 0.06, 1.00)
    colors[clr.Header]                                 = ImVec4(0.98, 0.26, 0.26, 0.31)
    colors[clr.HeaderHovered]                    = ImVec4(0.98, 0.26, 0.26, 0.80)
    colors[clr.HeaderActive]                     = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.Separator]                            = colors[clr.Border]
    colors[clr.SeparatorHovered]             = ImVec4(0.75, 0.10, 0.10, 0.78)
    colors[clr.SeparatorActive]                = ImVec4(0.75, 0.10, 0.10, 1.00)
    colors[clr.ResizeGrip]                         = ImVec4(0.98, 0.26, 0.26, 0.25)
    colors[clr.ResizeGripHovered]            = ImVec4(0.98, 0.26, 0.26, 0.67)
    colors[clr.ResizeGripActive]             = ImVec4(0.98, 0.26, 0.26, 0.95)
    colors[clr.TextSelectedBg]                 = ImVec4(0.98, 0.26, 0.26, 0.35)
    colors[clr.Text]                                     = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextDisabled]                     = ImVec4(0.50, 0.50, 0.50, 1.00)
    colors[clr.WindowBg]                             = ImVec4(0.06, 0.06, 0.06, 0.94)
    colors[clr.ChildWindowBg]                    = ImVec4(1.00, 1.00, 1.00, 0.00)
    colors[clr.PopupBg]                                = ImVec4(0.08, 0.08, 0.08, 0.94)
    colors[clr.ComboBg]                                = colors[clr.PopupBg]
    colors[clr.Border]                                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    colors[clr.BorderShadow]                     = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.MenuBarBg]                            = ImVec4(0.14, 0.14, 0.14, 1.00)
    colors[clr.ScrollbarBg]                        = ImVec4(0.02, 0.02, 0.02, 0.53)
    colors[clr.ScrollbarGrab]                    = ImVec4(0.31, 0.31, 0.31, 1.00)
    colors[clr.ScrollbarGrabHovered]     = ImVec4(0.41, 0.41, 0.41, 1.00)
    colors[clr.ScrollbarGrabActive]        = ImVec4(0.51, 0.51, 0.51, 1.00)
    colors[clr.CloseButton]                        = ImVec4(0.41, 0.41, 0.41, 0.50)
    colors[clr.CloseButtonHovered]         = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.CloseButtonActive]            = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.PlotLines]                            = ImVec4(0.61, 0.61, 0.61, 1.00)
    colors[clr.PlotLinesHovered]             = ImVec4(1.00, 0.43, 0.35, 1.00)
    colors[clr.PlotHistogram]                    = ImVec4(0.90, 0.70, 0.00, 1.00)
    colors[clr.PlotHistogramHovered]     = ImVec4(1.00, 0.60, 0.00, 1.00)
    colors[clr.ModalWindowDarkening]     = ImVec4(0.80, 0.80, 0.80, 0.35)
end
apply_custom_style()

local main_window_state = imgui.ImBool(false) -- Окно ImGui

-- Ини файл
local mainIni = inicfg.load({ -- создаем конфиг
    config =
    {
        piar = false, -- Сохраняем пиар
        text_piar = " " -- Сохраняем текст пиара
    }
    },
"Piar")

local status = inicfg.load(mainIni, 'Piar.ini')
if not doesFileExist('moonloader/config/Piar.ini') then
    inicfg.save(mainIni, 'Piar.ini')
end

local piar = imgui.ImBool(mainIni.config.piar) -- Делаем переменную для пиара
local text_piar = imgui.ImBuffer(''..mainIni.config.text_piar, 500) -- Делаем переменную для текста пиара

-- Регистрация команды
function cmd_piar(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
-- Регистрация команды

function imgui.OnDrawFrame() -- Вывод ImGui
    -- Закрытие процесса
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end    -- Конец проверки
    -- Закрытие процесса

    -- Установка Позиции
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end    -- Конец проверки
    -- Установка Позиции

    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(450, 200), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin('[Пиар] Окно с настройками', main_window_state) -- Начало ImGUI
        imgui.Checkbox('Пиар', piar) -- Чекбокс с пиаром
       
        if piar.v then -- Проверка, если пиар включен
            imgui.InputText("Поле ввода для текста пиара", text_piar) -- Добавляем поле ввода пиара
        end -- Конец проверки

    -- Кнопка
    if imgui.Button('Сохранить', imgui.ImVec2(135,25)) then -- Создаем кнопку
        mainIni.config.piar = piar.v -- Получаем чекбокс пиара
        mainIni.config.text_piar = text_piar.v -- Получаем поле с текстом пиара
        inicfg.save(mainIni, 'piar.ini') -- Сохраняем в файл
    end   
    -- Кнопка   

        imgui.End() -- Конец ImGUI
    end    -- Конец проверки
end -- Конец функции

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    -- Блок, который выполняеться 1 раз!
    sampRegisterChatCommand("piar", cmd_piar) -- Ригстрация команды /piar в чат
    while true do
        -- Бесконечный цикл
        wait(0)
        if piar.v then
            sampSendChat(u8:decode(text_piar.v))
            wait(30000)
        end       
    end
end
 

CaJlaT

07.11.2024 14:55
Модератор
2,833
2,671
Lua:
script_name('[Immortal-] Piar for ArizonaRP') -- Название Скрипта
script_author('Immortal-') -- Автор

require "lib.moonloader" -- Подключаем библиотеку Moonloader
local imgui = require 'imgui' -- Подключаем Imgui
local encoding = require 'encoding' -- Подключаем тип кодировки
local inicfg = require 'inicfg' -- Подключаем работу с конфигом
encoding.default = 'CP1251'
u8 = encoding.UTF8

-- Стиль
function apply_custom_style()
    imgui.SwitchContext()
    local style = imgui.GetStyle()
    local colors = style.Colors
    local clr = imgui.Col
    local ImVec4 = imgui.ImVec4

    style.WindowRounding = 2.0
    style.WindowTitleAlign = imgui.ImVec2(0.5, 0.84)
    style.ChildWindowRounding = 2.0
    style.FrameRounding = 2.0
    style.ItemSpacing = imgui.ImVec2(5.0, 4.0)
    style.ScrollbarSize = 13.0
    style.ScrollbarRounding = 0
    style.GrabMinSize = 8.0
    style.GrabRounding = 1.0

    colors[clr.FrameBg]                                = ImVec4(0.48, 0.16, 0.16, 0.54)
    colors[clr.FrameBgHovered]                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    colors[clr.FrameBgActive]                    = ImVec4(0.98, 0.26, 0.26, 0.67)
    colors[clr.TitleBg]                                = ImVec4(0.04, 0.04, 0.04, 1.00)
    colors[clr.TitleBgActive]                    = ImVec4(0.48, 0.16, 0.16, 1.00)
    colors[clr.TitleBgCollapsed]             = ImVec4(0.00, 0.00, 0.00, 0.51)
    colors[clr.CheckMark]                            = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.SliderGrab]                         = ImVec4(0.88, 0.26, 0.24, 1.00)
    colors[clr.SliderGrabActive]             = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.Button]                                 = ImVec4(0.98, 0.26, 0.26, 0.40)
    colors[clr.ButtonHovered]                    = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.ButtonActive]                     = ImVec4(0.98, 0.06, 0.06, 1.00)
    colors[clr.Header]                                 = ImVec4(0.98, 0.26, 0.26, 0.31)
    colors[clr.HeaderHovered]                    = ImVec4(0.98, 0.26, 0.26, 0.80)
    colors[clr.HeaderActive]                     = ImVec4(0.98, 0.26, 0.26, 1.00)
    colors[clr.Separator]                            = colors[clr.Border]
    colors[clr.SeparatorHovered]             = ImVec4(0.75, 0.10, 0.10, 0.78)
    colors[clr.SeparatorActive]                = ImVec4(0.75, 0.10, 0.10, 1.00)
    colors[clr.ResizeGrip]                         = ImVec4(0.98, 0.26, 0.26, 0.25)
    colors[clr.ResizeGripHovered]            = ImVec4(0.98, 0.26, 0.26, 0.67)
    colors[clr.ResizeGripActive]             = ImVec4(0.98, 0.26, 0.26, 0.95)
    colors[clr.TextSelectedBg]                 = ImVec4(0.98, 0.26, 0.26, 0.35)
    colors[clr.Text]                                     = ImVec4(1.00, 1.00, 1.00, 1.00)
    colors[clr.TextDisabled]                     = ImVec4(0.50, 0.50, 0.50, 1.00)
    colors[clr.WindowBg]                             = ImVec4(0.06, 0.06, 0.06, 0.94)
    colors[clr.ChildWindowBg]                    = ImVec4(1.00, 1.00, 1.00, 0.00)
    colors[clr.PopupBg]                                = ImVec4(0.08, 0.08, 0.08, 0.94)
    colors[clr.ComboBg]                                = colors[clr.PopupBg]
    colors[clr.Border]                                 = ImVec4(0.43, 0.43, 0.50, 0.50)
    colors[clr.BorderShadow]                     = ImVec4(0.00, 0.00, 0.00, 0.00)
    colors[clr.MenuBarBg]                            = ImVec4(0.14, 0.14, 0.14, 1.00)
    colors[clr.ScrollbarBg]                        = ImVec4(0.02, 0.02, 0.02, 0.53)
    colors[clr.ScrollbarGrab]                    = ImVec4(0.31, 0.31, 0.31, 1.00)
    colors[clr.ScrollbarGrabHovered]     = ImVec4(0.41, 0.41, 0.41, 1.00)
    colors[clr.ScrollbarGrabActive]        = ImVec4(0.51, 0.51, 0.51, 1.00)
    colors[clr.CloseButton]                        = ImVec4(0.41, 0.41, 0.41, 0.50)
    colors[clr.CloseButtonHovered]         = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.CloseButtonActive]            = ImVec4(0.98, 0.39, 0.36, 1.00)
    colors[clr.PlotLines]                            = ImVec4(0.61, 0.61, 0.61, 1.00)
    colors[clr.PlotLinesHovered]             = ImVec4(1.00, 0.43, 0.35, 1.00)
    colors[clr.PlotHistogram]                    = ImVec4(0.90, 0.70, 0.00, 1.00)
    colors[clr.PlotHistogramHovered]     = ImVec4(1.00, 0.60, 0.00, 1.00)
    colors[clr.ModalWindowDarkening]     = ImVec4(0.80, 0.80, 0.80, 0.35)
end
apply_custom_style()

local main_window_state = imgui.ImBool(false) -- Окно ImGui

-- Ини файл
local mainIni = inicfg.load({ -- создаем конфиг
    config =
    {
        piar = false, -- Сохраняем пиар
        text_piar = " " -- Сохраняем текст пиара
    }
    },
"Piar")

local status = inicfg.load(mainIni, 'Piar.ini')
if not doesFileExist('moonloader/config/Piar.ini') then
    inicfg.save(mainIni, 'Piar.ini')
end

local piar = imgui.ImBool(mainIni.config.piar) -- Делаем переменную для пиара
local text_piar = imgui.ImBuffer(u8(mainIni.config.text_piar), 500) -- Делаем переменную для текста пиара

-- Регистрация команды
function cmd_piar(arg) -- Начало функции
    main_window_state.v = not main_window_state.v -- Открываем окно main_window_state
    imgui.Process = main_window_state.v -- Активируем процесс
end -- Конец функции
-- Регистрация команды

function imgui.OnDrawFrame() -- Вывод ImGui
    -- Закрытие процесса
    if not main_window_state.v then -- Проверка, если main_window_state не используется
        imgui.Process = false -- Отключаем процесс
    end    -- Конец проверки
    -- Закрытие процесса

    -- Установка Позиции
    if not window_pos then
        ScreenX, ScreenY = getScreenResolution()ScreenX, ScreenY = getScreenResolution() -- Получаем разрешение экрана
        imgui.SetNextWindowPos(imgui.ImVec2(ScreenX / 2 , ScreenY / 2), imgui.Cond.FirsUseEver, imgui.ImVec2(0.5, 0.5)) -- Установка позиции по центру экрана
    end    -- Конец проверки
    -- Установка Позиции

    if main_window_state.v then -- Проверка, если main_window_state используется
        imgui.SetNextWindowSize(imgui.ImVec2(450, 200), imgui.Cond.FirstUseEver) -- Установка разрешения
        imgui.Begin(u8'[Пиар] Окно с настройками', main_window_state) -- Начало ImGUI
        imgui.Checkbox(u8'Пиар', piar) -- Чекбокс с пиаром
      
        if piar.v then -- Проверка, если пиар включен
            imgui.InputText(u8"Поле ввода для текста пиара", text_piar) -- Добавляем поле ввода пиара
        end -- Конец проверки

    -- Кнопка
    if imgui.Button(u8'Сохранить', imgui.ImVec2(135,25)) then -- Создаем кнопку
        mainIni.config.piar = piar.v -- Получаем чекбокс пиара
        mainIni.config.text_piar = u8:decode(text_piar.v) -- Получаем поле с текстом пиара
        inicfg.save(mainIni, 'piar.ini') -- Сохраняем в файл
    end   
    -- Кнопка   

        imgui.End() -- Конец ImGUI
    end    -- Конец проверки
end -- Конец функции

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end
    -- Блок, который выполняеться 1 раз!
    sampRegisterChatCommand("piar", cmd_piar) -- Ригстрация команды /piar в чат
    while true do
        -- Бесконечный цикл
        wait(0)
        if piar.v then
            sampSendChat(mainIni.config.text_piar)
            wait(30000)
        end       
    end
end