- 3
- 0
- Версия MoonLoader
- .026-beta
Кароче, делаю скрипты недавно и не знаю что значит код ошибки D:
Я решил попробовать сделать аймгуи скрипт который делает подставу одной кнопкой, типо отправить любой текст в чат. Делал для чайников которым лень прописать опкод в сампфункс.
Код ошибки -
[ML] (error) Podstava: E:\Games\SborkaS4itami\moonloader\podstava.lua:24: attempt to index global 'imgui' (a nil value)
stack traceback:
E:\Games\SborkaS4itami\moonloader\podstava.lua:24: in main chunk
[ML] (error) Podstava: Script died due to an error. (10377ECC)
Код аймгуи скопировал с Moon ImGui, не изменяя его закинул для теста и ничего не сработало:(
Жду вашего ответа.
Я решил попробовать сделать аймгуи скрипт который делает подставу одной кнопкой, типо отправить любой текст в чат. Делал для чайников которым лень прописать опкод в сампфункс.
Код ошибки -
[ML] (error) Podstava: E:\Games\SborkaS4itami\moonloader\podstava.lua:24: attempt to index global 'imgui' (a nil value)
stack traceback:
E:\Games\SborkaS4itami\moonloader\podstava.lua:24: in main chunk
[ML] (error) Podstava: Script died due to an error. (10377ECC)
Код аймгуи скопировал с Moon ImGui, не изменяя его закинул для теста и ничего не сработало:(
Жду вашего ответа.
Код:
script_name("Podstava")
script_author("SaberBoost")
require 'lib.moonloader'
local keys = require 'vkeys'
local keys = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8
function main()
sampAddChatMessage(u8'{FFD700}[Podstava]{FFFFFF} Скрипт загружен!',-1)
imgui.Process = true
if not isSampfuncsLoaded() or not isSampLoaded() then
return
end
while not isSampAvailable() do
wait(0)
end
sampRegisterChatCommand(pds, imgui.podstava)
end
function imgui.podstava()
local test_text_buffer = imgui.ImBuffer(256)
imgui.Begin(u8'Основное окно') -- обратите внимание на u8 перед текстом, это и есть преобразование кодировки
if imgui.InputText(u8'Вводить текст сюда', test_text_buffer) then -- условие будет срабатывать при изменении текста
-- здесь первая строка передаётся по-обычному, без u8
-- но введённый текст при выводе преобразуется обратно из UTF-8 в кодировку по умолчанию, т.е. в Windows-1251
print('Введённый текст:', u8:decode(test_text_buffer.v)) -- при работе с ImBuffer тоже не забывайте о .v
end
imgui.Text(u8'Введённый текст: ' .. test_text_buffer.v) -- но тут обратное преобразование введённого текста не требуется, т.к. текст буфера и так в UTF-8
imgui.Text(u8(string.format('Текущая дата: %s', os.date()))) -- u8 - это функция, её можно использовать и с неконстантными строками
imgui.End()
end