Исходник Базовый скрипт с настроенным mimgui [ML 0.27]

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
Что делать, если вот такое? В вашем ML 27 и mimgui не шарю...
В первую очередь, проверь, чтобы все библиотеки были на месте. Скачай последний билд MoonLoader 027 и перемести все файлы с заменой.
Во вторых, убедись, что у игры есть доступ к файлам и они могут обновлять их и докачивать новые.
 

FYP

Известный
Администратор
1,757
5,684
Полнейший бред, считаю. Если у окон одинаковые параметры, то можно засунуть их в один OnFrame и радоваться жизни. Как показывает практика, всё работает адекватно и ведёт себя замечательно.
Не лезь со своим говно кодом к каждому скрипту mimgui. Изучил таблицы и пихаешь везде, еще и через жопу все.
Считай так дальше
mimgui расчитан чтобы на каждое окно - свой OnFrame. Посмотри что под капотом там хотя бы да, ага, ок
несколько OnFrame нужно для создания независимых окон. в прошлой версии это делалось кодом imgui.Process = win1.v or win2.v и это было уродливо и неудобно, особенно когда условия показа были сложны. но, к примеру, если есть одно главное окно, из которого могут быть открыты другие и они не должны существовать независимо от главного окна, то правильно наоборот, чтобы все эти окна рендерились в одном OnFrame.
OnFrame предназначен для разделения логики отдельных интерфейсов и изменения их поведения индивидуально (как в примере оверлея), его наличие никак не обязывает разработчика делать отдельный OnFrame для каждого окна.
Что делать, если вот такое? В вашем ML 27 и mimgui не шарю...
хомка не залил исходники своего модуля в виде архива и поэтому менеджер пытается установить его через git, которого у тебя нет. это ошибка хомки, т.к. установщик зависимостей предполагает, что у конечного пользователя нет никакого вспомогательного софта для сборки, поэтому все модули должны быть залиты на luarocks в готовом для установки виде.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
несколько OnFrame нужно для создания независимых окон. в прошлой версии это делалось кодом imgui.Process = win1.v or win2.v и это было уродливо и неудобно, особенно когда условия показа были сложны. но, к примеру, если есть одно главное окно, из которого могут быть открыты другие и они не должны существовать независимо от главного окна, то правильно наоборот, чтобы все эти окна рендерились в одном OnFrame.
OnFrame предназначен для разделения логики отдельных интерфейсов и изменения их поведения индивидуально (как в примере оверлея), его наличие никак не обязывает разработчика делать отдельный OnFrame для каждого окна.
Вот, наконец-то адекватный ответ от адекватного человека. Моя система подразумевает создание неких WindowHandle, которые объединяют схожие окна и инициализируют из в одном OnFrame, что сильно упращает задачу и даёт возможность не создавать миллион OnFrame для всего подряд. Примеров реализации уйма: например, главное меню, в котором открываются другие окна - всё это объедено в определенный WindowHandle, допустим, он называется MainHandle. Именно в этом MainHandle открывается окно главного меню и все подокна, которые создаются в процессе. Если же мне нужно создать какое-то отдельное окно, например, окно с блокировкой аккаунта, то я сделаю это уже в другом OnFrame. Правильная логика?
 
  • Нравится
Реакции: AnWu

AnWu

Guardian of Order
Автор темы
Всефорумный модератор
4,683
5,129
Исправил mimgui-addons, убрал SAMP.Lua из скрипта.

Вот, наконец-то адекватный ответ от адекватного человека. Моя система подразумевает создание неких WindowHandle, которые объединяют схожие окна и инициализируют из в одном OnFrame, что сильно упращает задачу и даёт возможность не создавать миллион OnFrame для всего подряд. Примеров реализации уйма: например, главное меню, в котором открываются другие окна - всё это объедено в определенный WindowHandle, допустим, он называется MainHandle. Именно в этом MainHandle открывается окно главного меню и все подокна, которые создаются в процессе. Если же мне нужно создать какое-то отдельное окно, например, окно с блокировкой аккаунта, то я сделаю это уже в другом OnFrame. Правильная логика?
и не подразумивалось что нужно миллион окон. Не знаю что там с объедененной логикой окон, но для этих целей у меня всё равно один OnFrame и одно окно, всё остальное через Popoup
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
и не подразумивалось что нужно миллион окон. Не знаю что там с объедененной логикой окон, но для этих целей у меня всё равно один OnFrame и одно окно, всё остальное через Popoup
Я не представляю большое окно с настройками в виде всплывающего окошка, - в небольший скриптах да, но представь огромный проект по типу какого-нибудь фракционного биндера с огромной кучей всяких функций - это же писец будет. Можно, конечно, сделать и отдельное окно для настроек в отдельном OnFrame, но при этом и нет необходимости выносить настройки за пределы главного меню, так как они вызываются только оттуда и соответственно при закрытии главного меню должено закрываться и окно с теми самыми настройками.
 

AnWu

Guardian of Order
Автор темы
Всефорумный модератор
4,683
5,129
Я не представляю большое окно с настройками в виде всплывающего окошка, - в небольший скриптах да, но представь огромный проект по типу какого-нибудь фракционного биндера с огромной кучей всяких функций - это же писец будет. Можно, конечно, сделать и отдельное окно для настроек в отдельном OnFrame, но при этом и нет необходимости выносить настройки за пределы главного меню, так как они вызываются только оттуда и соответственно при закрытии главного меню должено закрываться и окно с теми самыми настройками.
В случае с биндером это скорее всего ошибочно, ведь главное меню и настройки два несвязанных окна. Их "ниточка" в том что настройки из меню открываются.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
В случае с биндером это скорее всего ошибочно, ведь главное меню и настройки два несвязанных окна. Их "ниточка" в том что настройки из меню открываются.
Это уже скорее дело вкуса, не столь важно. Ладно, это начинает постепенно превращаться в оффтоп. Предлагаю закончить.
 

AnWu

Guardian of Order
Автор темы
Всефорумный модератор
4,683
5,129
Это уже скорее дело вкуса, не столь важно. Ладно, это начинает постепенно превращаться в оффтоп. Предлагаю закончить.
Каким же образом это превращается в оффтоп? Мы тут пытаемся выяснить как правильно, но правильно так как тебе удобно. Я тебя не призывал делать как я. Мне удобно когда каждое окно в своём фрейме, в большом проекте это играет роль как по мне, тебе может быть это не удобно, так делай как ты считаешь нужным. Это не плюсы где за хуйню в коде понесешь кармическое наказание.
 
  • Нравится
Реакции: Pakulichev

Belo4ka_belka

Известный
191
7
Если я правильно понял это такой-себе базовый скрипт к которому подключено все что только можно и который может быть основой всему? Полезная штука для тех кто захочет с других языков перейти.
 

Pakulichev

Software Developer & System Administrator
Друг
1,789
2,130
Если я правильно понял это такой-себе базовый скрипт к которому подключено все что только можно и который может быть основой всему? Полезная штука для тех кто захочет с других языков перейти.
Не совсем. Это скрипт с подключенным графическим интерфейсом (mimgui).
 

SPEKA009

Участник
33
0
Помогите,крашит гта когда в скрипте присутствует это функция local wsize = imgui.GetWindowSize()
 

Alkasch226

Известный
43
4
Где-то существует список функций mimgui, как это было с imgui?
Lua:
IMGUI_API bool          InputText(const char* label, char* buf, size_t buf_size, ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL);
IMGUI_API bool          InputTextMultiline(const char* label, char* buf, size_t buf_size, const ImVec2& size = ImVec2(0,0), ImGuiInputTextFlags flags = 0, ImGuiTextEditCallback callback = NULL, void* user_data = NULL);
IMGUI_API bool          InputFloat(const char* label, float* v, float step = 0.0f, float step_fast = 0.0f, int decimal_precision = -1, ImGuiInputTextFlags extra_flags = 0);
Примеры это здорово, но попытавшись перевести свой скрипт на mimgui стало понятно, что многое изменилось, а информации найти не удается.