Неск.вопросов

Vespan

loneliness
Автор темы
Проверенный
2,105
1,641
Версия MoonLoader
.026-beta
1.Как сделать,что когда я нажал на клавишу,и можно было перенести imgui окно,нажал ещё раз нажал,позиция imgui окна сохранилась,и курсор пропал.
2.Дайте ссылку,или незнаю что там,что описает эти символы >> %d %s %a и так далее [Выполнено]
3.Как удалить не нужный текст в чате?(Допустим:[Nick_Name]ip Адрес:123.456.789 и удалить не нужное,оставить только ip адрес) [Выполнено]
 
Последнее редактирование:
Решение
3.Как удалить не нужный текст в чате?(Допустим:[Nick_Name]ip Адрес:123.456.789 и удалить не нужное,оставить только ip адрес)
Изощряйся как хочешь, в обоих случаях выведет только ИП
Lua:
local Text = "[Nick_Name]ip Адрес:123.456.789"
if Text:match("%[%w+_?%w+%]ip Адрес%:") then
   local newText = string.gsub(Text,"%[%w+_?%w+%]ip Адрес%:","") -- 1 Вариант
   local newText_two = Text:match("%:(.*)") -- 2й вариант
   print(newText)
   print(newText_two)
end

Dmitriy Makarov

25.05.2021
Проверенный
2,484
1,114
Я немного не понял єтих шаблонов.Можешь навести прооостой пример єтих шаблонов
Чтобы взять ник с чата Nick_Name[123] нужно сделать так
Lua:
%a+_%a+%[%d+%]
%a = Это просто 1 буква, а %a+, это много букв
%d = Цифра, %d+ = цифры.
Вот такие квадратные скобки [ ] нужно экранировать так %[%], т.е перед открытием скобки и перед закрытием
 

Vespan

loneliness
Автор темы
Проверенный
2,105
1,641
Чтобы взять ник с чата Nick_Name[123] нужно сделать так
Lua:
%a+_%a+%[%d+%]
%a = Это просто 1 буква, а %a+, это много букв
%d = Цифра, %d+ = цифры.
Вот такие квадратные скобки [ ] нужно экранировать так %[%], т.е перед открытием скобки и перед закрытием
шото не работает>>
41668

Lua:
local sampev = require 'lib.samp.events'
---
local check_text = 'test'

function sampev.onServerMessage(color, text)
    if text:find(check_text) then
        sampAddChatMessage('>> %a+_%a+%[%d+%]', -1)
    end
end
 

Dmitriy Makarov

25.05.2021
Проверенный
2,484
1,114

Angr

Известный
291
98
3.Как удалить не нужный текст в чате?(Допустим:[Nick_Name]ip Адрес:123.456.789 и удалить не нужное,оставить только ip адрес)
Изощряйся как хочешь, в обоих случаях выведет только ИП
Lua:
local Text = "[Nick_Name]ip Адрес:123.456.789"
if Text:match("%[%w+_?%w+%]ip Адрес%:") then
   local newText = string.gsub(Text,"%[%w+_?%w+%]ip Адрес%:","") -- 1 Вариант
   local newText_two = Text:match("%:(.*)") -- 2й вариант
   print(newText)
   print(newText_two)
end
 

Vespan

loneliness
Автор темы
Проверенный
2,105
1,641
Изощряйся как хочешь, в обоих случаях выведет только ИП
Lua:
local Text = "[Nick_Name]ip Адрес:123.456.789"
if Text:match("%[%w+_?%w+%]ip Адрес%:") then
   local newText = string.gsub(Text,"%[%w+_?%w+%]ip Адрес%:","") -- 1 Вариант
   local newText_two = Text:match("%:(.*)") -- 2й вариант
   print(newText)
   print(newText_two)
end
Angr,можешь ещё дать функцию,что выбирать цвет
41715

или такое
41716
 
Последнее редактирование:

Angr

Известный
291
98
Angr,можешь ещё дать функцию,что выбирать цвет
Посмотреть вложение 41715
или такое
Вроде как
Lua:
local colorReport = imgui.ImColor(4278241535) -- рандом цифры (Вне майн)
imgui.Text(u8"Чат организации :")
imgui.SameLine(140)
if imgui.ColorEdit3("##reportColor", colorReport.v, imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha) then
            local col32 = colorReport:GetU32()
               
end
 

Vespan

loneliness
Автор темы
Проверенный
2,105
1,641
Вроде как
Lua:
local colorReport = imgui.ImColor(4278241535) -- рандом цифры (Вне майн)
imgui.Text(u8"Чат организации :")
imgui.SameLine(140)
if imgui.ColorEdit3("##reportColor", colorReport.v, imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha) then
            local col32 = colorReport:GetU32()
             
end
Lua:
-- // Библиотеки // --
local imgui = require 'imgui'
local key = require 'vkeys'
local encoding = require 'encoding'
local sampev = require 'lib.samp.events'
local inicfg = require 'inicfg'

encoding.default = 'CP1251'
u8 = encoding.UTF8

-- // Для кнопок | imgui // --
local main_window_state = imgui.ImBool(false)

-- // Прочее // --
local colorReport = imgui.ImColor(4278241535) --

function main()
        if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end

    sampRegisterChatCommand('/test', function() main_window_state.v = not main_window_state.v end)
    sampRegisterChatCommand('/test1', test_1)
    sampRegisterChatCommand('/test2', test_2)

  while true do
    wait(0)  
    imgui.Process = main_window_state.v
    end
end

function test_1(arg)
    sampAddChatMessage(Load_Config.ConfigIni.test__, -1)
end

function test_2(arg)
    local result = sampIsPlayerPaused(arg)
        if result then
            afk = 'da'
        else
            afk = 'net'
        end
    sampAddChatMessage('>'..afk, -1)
end

function imgui.OnDrawFrame()
  if main_window_state.v then
    imgui.SetNextWindowSize(imgui.ImVec2(200, 200), imgui.Cond.FirstUseEver)
    imgui.Begin('My window', main_window_state)
    imgui.Text(u8'орпопр')
    if not font_changed and imgui.Button('Change Font') then
        font_changed = true
            lua_thread.create(function()
                -- Fonts' texture cannot be rebuilt within OnDrawFrame, so we doing it in a separate script-thread
                wait(0) -- delay here is necessary
                imgui.SwitchContext()
                imgui.GetIO().Fonts:Clear()
                glyph_ranges_cyrillic = imgui.GetIO().Fonts:GetGlyphRangesCyrillic()
                imgui.GetIO().Fonts:AddFontFromFileTTF(getFolderPath(0x14) .. '\\impact.ttf', 15.0, nil, glyph_ranges_cyrillic)
                imgui.RebuildFonts()
            end)
        end
        if imgui.ColorEdit3("##reportColor", colorReport.v, imgui.ColorEditFlags.NoInputs + imgui.ColorEditFlags.NoLabel + imgui.ColorEditFlags.NoAlpha) then
           local col32 = colorReport:GetU32()           -- та функция  
        end
    if imgui.Button('Message') then
        sampAddChatMessage('1111', -7)
    end
    imgui.End()
  end
end
не работает