Кикает сервер? Или прям крашит?крашит при изменении количества
Можешь плиз дать код анимации окнаСкрипт переводит систему текстдравов крафтинга в красивую систему imgui на проекте Arizona Role-Play
Так же система imgui имеет довольно красивые анимации
Скрипт написал на луа
Для установки скрипта необходимо скачать сам скрипт с помощью вложения
После чего перенести его в папку "MoonLoader"
А так же перенести специальный шрифт "fa-solid-900.ttf" в папку "moonloader/resource/fonts", который так же будет во вложении
Так же для скрипта необходимо скачать дополнительные библиотеки Imgui, FAwesome5.lua и SAMP.lua
Ссылка, Ссылка, Ссылка
И так же перенести данные библиотеку в папку "MoonLoader", но не оставить там, а перенести ещё в папку "lib"
Разница между [1.0] и [2.0] -
1. Добавлен новый раздел "Настройки"
2. В этот раздел добавлена настройка цвета imgui, и настройка списка моделей
3. Добавлены новые анимации
4. Были обновлены некоторые функции в скрипте
5. Были обновлены некоторые кнопки в скрипте
6. Была добавлена реклама в скрипт
Для установки скрипта необходимо скачать сам скрипт с помощью вложения
После чего перенести его в папку "MoonLoader"
А так же перенести специальный шрифт "fa-solid-900.ttf" в папку "moonloader/resource/fonts", который так же будет во вложении
Так же для скрипта необходимо скачать дополнительные библиотеки Imgui, FAwesome5.lua и copas.lua
Ссылка, Ссылка, Ссылка, Ссылка
И так же перенести данные библиотеку в папку "MoonLoader", но не оставить там, а перенести ещё в папку "lib"
P.S.
Большая просьба, если будут найдены любые баги в скрипте - прошу написать о них в тему!
Или в мои личные сообщения вконтакте (или телеграм)
И не забывайте, для полноценной работы скрипта, нужно сбросить настройки инвентаря, на настройки по умолчанию (масштаб)
Требования:
Imgui.lua
FAwesome5.lua
SAMP.lua
copas.lua
Команды: [/crafting]
Активация: [Автоматическая]
Автор: Ссылка
local imgui = require('imgui')
function main()
sampRegisterChatCommand("animimgui", function()
if imgui.Process then
main_window_state.v = false
else
main_window_state.v = true
anim = {0.00001, 1, os.clock(), 0.2}
imgui.Process = true
end
end)
end
animimgui = 0.00001; fiksbug = true; main_window_state = imgui.ImBool(false)
function imgui.OnDrawFrame()
sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(500, 600))
imgui.Begin("imgui animation", main_window_state, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar)
if not main_window_state.v and fiksbug then -- не судите строго
anim1 = {1, 0.00001, os.clock(), 0.2} -- p.s делаем так из-за цикла, os.clock() в нем юзать нельзя
fiksbug = false
end
if main_window_state.v then
animimgui = bringFloatTo(anim[1], anim[2], anim[3], anim[4])
else
animimgui = bringFloatTo(anim1[1], anim1[2], anim1[3], anim1[4])
if animimgui == 0.00001 then
fiksbug = true
imgui.Process = false
end
end
imgui.GetStyle().Alpha = animimgui
imgui.End()
end
function bringFloatTo(from, to, start_time, duration) -- https://www.blast.hk/threads/13380/page-20#post-793501
local timer = os.clock() - start_time
if timer >= 0.00 and timer <= duration then
local count = timer / (duration / 100)
return from + (count * (to - from) / 100), true
end
return (timer > duration) and to or from, false
end
function guiCustomStyle()
imgui.SwitchContext()
local style = imgui.GetStyle()
local colors = style.Colors
local clr = imgui.Col
local ImVec4 = imgui.ImVec4
local ImVec2 = imgui.ImVec2
style.WindowPadding = ImVec2(4.0, 4.0)
style.WindowRounding = 7
style.WindowTitleAlign = ImVec2(0.5, 0.5)
style.FramePadding = ImVec2(4.0, 2.0)
style.ItemSpacing = ImVec2(8.0, 4.0)
style.ItemInnerSpacing = ImVec2(4.0, 4.0)
style.ChildWindowRounding = 7
style.FrameRounding = 7
style.ScrollbarRounding = 7
style.GrabRounding = 7
style.IndentSpacing = 21.0
style.ScrollbarSize = 13.0
style.GrabMinSize = 10.0
style.ButtonTextAlign = ImVec2(0.5, 0.5)
end
guiCustomStyle()
Спасбо)Lua:local imgui = require('imgui') function main() sampRegisterChatCommand("animimgui", function() if imgui.Process then main_window_state.v = false else main_window_state.v = true anim = {0.00001, 1, os.clock(), 0.2} imgui.Process = true end end) end animimgui = 0.00001; fiksbug = true; main_window_state = imgui.ImBool(false) function imgui.OnDrawFrame() sw, sh = getScreenResolution() imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.SetNextWindowSize(imgui.ImVec2(500, 600)) imgui.Begin("imgui animation", main_window_state, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar) if not main_window_state.v and fiksbug then -- не судите строго anim1 = {1, 0.00001, os.clock(), 0.2} -- p.s делаем так из-за цикла, os.clock() в нем юзать нельзя fiksbug = false end if main_window_state.v then animimgui = bringFloatTo(anim[1], anim[2], anim[3], anim[4]) else animimgui = bringFloatTo(anim1[1], anim1[2], anim1[3], anim1[4]) if animimgui == 0.00001 then fiksbug = true imgui.Process = false end end imgui.GetStyle().Alpha = animimgui imgui.End() end function bringFloatTo(from, to, start_time, duration) -- https://www.blast.hk/threads/13380/page-20#post-793501 local timer = os.clock() - start_time if timer >= 0.00 and timer <= duration then local count = timer / (duration / 100) return from + (count * (to - from) / 100), true end return (timer > duration) and to or from, false end function guiCustomStyle() imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 local ImVec2 = imgui.ImVec2 style.WindowPadding = ImVec2(4.0, 4.0) style.WindowRounding = 7 style.WindowTitleAlign = ImVec2(0.5, 0.5) style.FramePadding = ImVec2(4.0, 2.0) style.ItemSpacing = ImVec2(8.0, 4.0) style.ItemInnerSpacing = ImVec2(4.0, 4.0) style.ChildWindowRounding = 7 style.FrameRounding = 7 style.ScrollbarRounding = 7 style.GrabRounding = 7 style.IndentSpacing = 21.0 style.ScrollbarSize = 13.0 style.GrabMinSize = 10.0 style.ButtonTextAlign = ImVec2(0.5, 0.5) end guiCustomStyle()
Я не много тупенький) что куда вписать?:(Lua:local imgui = require('imgui') function main() sampRegisterChatCommand("animimgui", function() if imgui.Process then main_window_state.v = false else main_window_state.v = true anim = {0.00001, 1, os.clock(), 0.2} imgui.Process = true end end) end animimgui = 0.00001; fiksbug = true; main_window_state = imgui.ImBool(false) function imgui.OnDrawFrame() sw, sh = getScreenResolution() imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) imgui.SetNextWindowSize(imgui.ImVec2(500, 600)) imgui.Begin("imgui animation", main_window_state, imgui.WindowFlags.NoCollapse + imgui.WindowFlags.NoResize + imgui.WindowFlags.NoScrollbar) if not main_window_state.v and fiksbug then -- не судите строго anim1 = {1, 0.00001, os.clock(), 0.2} -- p.s делаем так из-за цикла, os.clock() в нем юзать нельзя fiksbug = false end if main_window_state.v then animimgui = bringFloatTo(anim[1], anim[2], anim[3], anim[4]) else animimgui = bringFloatTo(anim1[1], anim1[2], anim1[3], anim1[4]) if animimgui == 0.00001 then fiksbug = true imgui.Process = false end end imgui.GetStyle().Alpha = animimgui imgui.End() end function bringFloatTo(from, to, start_time, duration) -- https://www.blast.hk/threads/13380/page-20#post-793501 local timer = os.clock() - start_time if timer >= 0.00 and timer <= duration then local count = timer / (duration / 100) return from + (count * (to - from) / 100), true end return (timer > duration) and to or from, false end function guiCustomStyle() imgui.SwitchContext() local style = imgui.GetStyle() local colors = style.Colors local clr = imgui.Col local ImVec4 = imgui.ImVec4 local ImVec2 = imgui.ImVec2 style.WindowPadding = ImVec2(4.0, 4.0) style.WindowRounding = 7 style.WindowTitleAlign = ImVec2(0.5, 0.5) style.FramePadding = ImVec2(4.0, 2.0) style.ItemSpacing = ImVec2(8.0, 4.0) style.ItemInnerSpacing = ImVec2(4.0, 4.0) style.ChildWindowRounding = 7 style.FrameRounding = 7 style.ScrollbarRounding = 7 style.GrabRounding = 7 style.IndentSpacing = 21.0 style.ScrollbarSize = 13.0 style.GrabMinSize = 10.0 style.ButtonTextAlign = ImVec2(0.5, 0.5) end guiCustomStyle()
Спасбо)
Я не много тупенький) что куда вписать?:(
main_window_state.v = true
anim = {0.00001, 1, os.clock(), 0.2}
imgui.Process = true -- когда активируем окно
main_window_state.v = false -- когда вырубаем окно
Масштаб инвентаря - стандартный?У меня он не лестает между страницами с крафтом
Только 1/8 страниц видно
Это уже будет совершенно другой скрипт.@Shishkin добавь возможность смотреть это меню по команде ( вне зависимости от местонахождения ). Короче чтобы на ЦР можно было смотреть какие ресурсы надо для крафта в доме ( и тогда можно сделать две вкладки: цр и подвал типо с двух мест статистика для крафта )
Ну и возможность сканирование в подвале и на цр, чтобы тебе не обновлять скрипт каждую обнову и людям не качать новый скрипт каждую обнову, получится тогда вечно актуальный скрипт)
Вот есть хэлпер для крафта: https://www.blast.hk/threads/41070/
Но он уже заброшен автором и вещи в нем не актуальные.