mimgui баг не знаю как решить тупой оч

Arizona Mobile 3

Потрачен
Автор темы
117
12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Версия MoonLoader
Другое
При заходе в рекон открывает сразу два окна а должно одно

Lua:
local imgui = require 'mimgui' -- подключаем библиотеку мимгуи

local encoding = require 'encoding' -- подключаем библиотеку для работы с разными кодировками
encoding.default = 'CP1251' -- задаём кодировку по умолчанию
local u8 = encoding.UTF8 -- это позволит нам писать задавать названия/текст на кириллице
local samp = require('samp.events')
local on = require "lib.samp.events"

local new = imgui.new -- создаём короткий псевдоним для удобства
local WinState = new.bool() -- создаём буффер для открытия окна
local Glmenu = new.bool(false)

function samp.onTogglePlayerSpectating(bool)
    if bool then -- Если вошёл в спектатор
        WinState[0] = true
    else -- Если вышел из спектатора
        WinState[0] = false
    end
end

imgui.OnFrame(function() return WinState[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- отвечает за положение окна на экране
        imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.Always) -- отвечает за размер окна
        imgui.Begin(u8'Основное', WinState, imgui.WindowFlags.NoResize) -- отвечает за отображение окна, его заголовок и флаги
        imgui.End()
    end
)

local newFrame3 = imgui.OnFrame(
    function() return WinState[0] end,
    function(player)
    imgui.Begin(u8'Admin Tools', Glmenu)
        imgui.End()
    end)

function main()
    sampRegisterChatCommand('amenu', function()
        Glmenu[0] = not Glmenu[0]
        end)
    wait(-1)
end
 

MrDorlik

Известный
957
385
При заходе в рекон открывает сразу два окна а должно одно

Код:
local imgui = require 'mimgui' -- подключаем библиотеку мимгуи

local encoding = require 'encoding' -- подключаем библиотеку для работы с разными кодировками
encoding.default = 'CP1251' -- задаём кодировку по умолчанию
local u8 = encoding.UTF8 -- это позволит нам писать задавать названия/текст на кириллице
local samp = require('samp.events')
local on = require "lib.samp.events"

local new = imgui.new -- создаём короткий псевдоним для удобства
local WinState = new.bool() -- создаём буффер для открытия окна
local Glmenu = new.bool(false)

function samp.onTogglePlayerSpectating(bool)
    if bool then -- Если вошёл в спектатор
        WinState[0] = true
    else -- Если вышел из спектатора
        WinState[0] = false
    end
end

imgui.OnFrame(function() return WinState[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- отвечает за положение окна на экране
        imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.Always) -- отвечает за размер окна
        imgui.Begin(u8'Основное', WinState, imgui.WindowFlags.NoResize) -- отвечает за отображение окна, его заголовок и флаги
        imgui.End()
    end
)

local newFrame3 = imgui.OnFrame(
    function() return WinState[0] end,
    function(player)
    imgui.Begin(u8'Admin Tools', Glmenu)
        imgui.End()
    end)

function main()
    sampRegisterChatCommand('amenu', function()
        Glmenu[0] = not Glmenu[0]
        end)
    wait(-1)
end
а нахрена ты два окна к одной переменной привязал? другую переменную создай для второго окна
 
  • Нравится
Реакции: Hinаta

chromiusj

Известный
Модератор
5,656
3,959
1700945229977.png

ну так определись какое окно использовать епта
 
  • Нравится
Реакции: Hinаta

Arizona Mobile 3

Потрачен
Автор темы
117
12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
а нахрена ты два окна к одной переменной привязал? другую переменную создай для второго окна
всм я оч тупой обьесни где ошибка

Посмотреть вложение 222270
ну так определись какое окно использовать епта
WinState
 

chromiusj

Известный
Модератор
5,656
3,959
всм я оч тупой обьесни где ошибка
ты не тупорылый,ты просто дундун,которому похуй на все,тебе лишь бы получить готовое,ты не готов принять во внимание то,что тебе говорят/объясняются,иначе говоря - паразит
Lua:
local imgui = require 'mimgui' -- подключаем библиотеку мимгуи

local encoding = require 'encoding' -- подключаем библиотеку для работы с разными кодировками
encoding.default = 'CP1251' -- задаём кодировку по умолчанию
local u8 = encoding.UTF8 -- это позволит нам писать задавать названия/текст на кириллице
local samp = require('samp.events')

local new = imgui.new -- создаём короткий псевдоним для удобства
local Glmenu = new.bool(false)

function samp.onTogglePlayerSpectating(bool)
    if bool then -- Если вошёл в спектатор
        Glmenu[0] = not Glmenu[0]
    end
end

imgui.OnFrame(function() return Glmenu[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- отвечает за положение окна на экране
        imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.Always) -- отвечает за размер окна
        imgui.Begin(u8'Основное', Glmenu, imgui.WindowFlags.NoResize) -- отвечает за отображение окна, его заголовок и флаги
        imgui.End()
    end
)
function main()
    sampRegisterChatCommand('amenu', function()
        Glmenu[0] = not Glmenu[0]
        end)
    wait(-1)
end
 

MrDorlik

Известный
957
385
всм я оч тупой обьесни где ошибка


WinState
я конечно не хочу преуменьшать твои возможности, но по-моему тебе рано создавать админ тулс, начни хотя бы с бинда команды на клавишу, и посмотри гайды, потратишь намного меньше времени чем на каждый тупой вопрос новую тему создавать
 

Arizona Mobile 3

Потрачен
Автор темы
117
12
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
я конечно не хочу преуменьшать твои возможности, но по-моему тебе рано создавать админ тулс, начни хотя бы с бинда команды на клавишу, и посмотри гайды, потратишь намного меньше времени чем на каждый тупой вопрос новую тему создавать
я для моб пишу клавиш нету :)
 

mhertz

Известный
148
308
При заходе в рекон открывает сразу два окна а должно одно

Lua:
local imgui = require 'mimgui' -- подключаем библиотеку мимгуи

local encoding = require 'encoding' -- подключаем библиотеку для работы с разными кодировками
encoding.default = 'CP1251' -- задаём кодировку по умолчанию
local u8 = encoding.UTF8 -- это позволит нам писать задавать названия/текст на кириллице
local samp = require('samp.events')
local on = require "lib.samp.events"

local new = imgui.new -- создаём короткий псевдоним для удобства
local WinState = new.bool() -- создаём буффер для открытия окна
local Glmenu = new.bool(false)

function samp.onTogglePlayerSpectating(bool)
    if bool then -- Если вошёл в спектатор
        WinState[0] = true
    else -- Если вышел из спектатора
        WinState[0] = false
    end
end

imgui.OnFrame(function() return WinState[0] end,
    function(player)
        imgui.SetNextWindowPos(imgui.ImVec2(500,500), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5)) -- отвечает за положение окна на экране
        imgui.SetNextWindowSize(imgui.ImVec2(245, 280), imgui.Cond.Always) -- отвечает за размер окна
        imgui.Begin(u8'Основное', WinState, imgui.WindowFlags.NoResize) -- отвечает за отображение окна, его заголовок и флаги
        imgui.End()
    end
)

local newFrame3 = imgui.OnFrame(
    function() return WinState[0] end,
    function(player)
    imgui.Begin(u8'Admin Tools', Glmenu)
        imgui.End()
    end)

function main()
    sampRegisterChatCommand('amenu', function()
        Glmenu[0] = not Glmenu[0]
        end)
    wait(-1)
end
я так понимаю ты хотел в строчке после newFrame3 вместо return WinState[0] засунуть return Glmenu[0]

ну а вообще, реально, иди лучше делай биндеры на командах, тебе ещё рано в мимгуи идти, когда ты даже не можешь такую базовую логическую ошибку найти