- Версия MoonLoader
- .026-beta
Привет!
Я создал команду, которая собирает в массив ники и айдишники игроков в определенном радиусе, а далее активируется имгуи окно и выводится этот список. Код:
Само окно:
Рядом с текстом рисуется кнопка, которая по идее должна удалять соответствующую строчку. Но нажимается только кнопка с первой строчки, на остальные имгуи не реагирует. Также хочу решить проблему с удалением соответствующего элемента из массива при нажатии по кнопке.
Буду благодарен за помощь)
Я создал команду, которая собирает в массив ники и айдишники игроков в определенном радиусе, а далее активируется имгуи окно и выводится этот список. Код:
Lua:
-- main()
sampRegisterChatCommand('rtp', function(arg)
if arg ~= nil and #arg > 0 and arg ~= '' and arg:match('%d+') then
tplist = {}
local tp_id
local tp_nick
local ptp_X, ptp_Y, ptp_Z
local tp_x, tp_y, tp_z
lua_thread.create(function()
for k, char in pairs(getAllChars()) do
if doesCharExist(char) and char ~= PLAYER_PED then
_, tp_id = sampGetPlayerIdByCharHandle(char)
if tp_id ~= -1 then
tp_nick = sampGetPlayerNickname(tp_id)
ptp_X, ptp_Y, ptp_Z = getCharCoordinates(PLAYER_PED)
tp_x, tp_y, tp_z = getCharCoordinates(char)
local bwtp_dist = getDistanceBetweenCoords3d(ptp_X, ptp_Y, ptp_Z, tp_x, tp_y, tp_z)
if bwtp_dist <= tonumber(arg) then
table.insert(tplist, {tp_id, tp_nick})
end
end
end
end
if #tplist > 0 then
tp_window.v = true
imgui.Process = true
else
sampAddChatMessage(tag..'{ffffff}В радиусе нет ни одного игрока!', color1)
end
end)
else
sampAddChatMessage(tag..'{ffffff}Введи /rtp <радиус в метрах>', color1)
end
end)
-- imgui.OnDrawFrame()
if tp_window.v then
imgui.Begin('tp list', tp_window, imgui.WindowFlags.AlwaysAutoResize)
for i = 1, #tplist do
local remove_pos = i
imgui.Text(string.format( "%s[%s]",tplist[i][2], tplist[i][1]))
imgui.SameLine()
if imgui.Button(u8'Удалить') then
-- table.remove( tplist, remove_pos)
sampAddChatMessage(string.format( "%s[%s]", tplist[i][2], tplist[i][1]), -1)
end
end
imgui.End()
end
Само окно:
Рядом с текстом рисуется кнопка, которая по идее должна удалять соответствующую строчку. Но нажимается только кнопка с первой строчки, на остальные имгуи не реагирует. Также хочу решить проблему с удалением соответствующего элемента из массива при нажатии по кнопке.
Буду благодарен за помощь)