как хукнуть сообщения с чата и вывести в renderText

.KOHTOP.

Активный
Автор темы
217
35
Версия MoonLoader
.027.0-preview
Посмотреть вложение 232101

С помощью замечательного модератора Why Ega сделал такое чудо, но вот проблема из-за того, что у меня есть задержка выводится 2 сообщения с разными значениями, но по факту переменная имеет значение последнего сообщения. Вопрос таков:
- Мне нужно, чтобы переменная записывала первое и второе значение и выводила в renderText
Lua:
        if text:find('%{......%}(.*)%[(%d+)%] %- %[(%d+) lvl%] %-%{......%} %[AFK: (%d+)%]%{......%}. Репутация: (%d+) %- Выговоры %[(%d)/3]') then
            local nickcheck, idcheck, lvlcheck, afkcheck, repcheck, vigcheck = text:match('%{......%}(.*)%[(%d+)%] %- %[(%d+) lvl%] %-%{......%} %[AFK: (%d+)%]%{......%}. Репутация: (%d+) %- Выговоры %[(%d)/3]')
            wait(300)
            checker = '| {fefe22}' ..nickcheck..' ['..idcheck..'] - ['..lvlcheck..'] - {FFFFFF}[AFK: '..afkcheck..']{FFFFFF}. Репутация: '..repcheck..' - Выговоры: ' .. vigcheck..'\n' -- {fefe22}Anubis_Tools[0] - [3 lvl] -{FFFFFF} [AFK: 0]{FFFFFF}. Репутация: 21 - Выговоры [0/3]
            
        end

1707987616128.png
 
Решение
типо рендерит друг на друге?
надо делать так

Lua:
local y = 500
for бла бла
    renderFontdrawText(font, bla-bla, x, y, -1)
    y = y + renderGetFontDrawHeight(font)
end
попробуй так
Lua:
            for k, v in ipairs(таблица с челами) do
                renderFontDrawText(font, текст, posX, posY+k*13, -1)
            end

moreveal

Известный
Проверенный
859
539
Lua:
-- вверху где-нибудь
local admins_online = {}

-- в твоем onServerMessage
if text:find('Администрация онлайн: %(в сети') then
    admins_online = {}
end
local namec, idc, lvlc, afkc, repc, vigc = text:match('%{.-%}(.-)%[(%d+)%].-%[(%d+).-(%d+)%].-(%d+).-(%d)/')
if namec and idc and lvlc and afkc and repc and vigc then
    table.insert(admins_online, {
        name = namec,
        id = idc,
        level = lvlc,
        afk = afkc,
        rep = repc,
        vig = vigc
    })
end

-- там где рендеришь
for _, admin in ipairs(admins_online) do
    print(admin.name, admin.id, admin.level, admin.afk, admin.rep, admin.vig)
end
 
Последнее редактирование:
  • Нравится
Реакции: .KOHTOP. и YarikVL

.KOHTOP.

Активный
Автор темы
217
35
Lua:
-- вверху где-нибудь
local admins_online = {}

-- в твоем onServerMessage
if text:find('Администрация онлайн: %(в сети') then
    admins_online = {}
end
local namec, idc, lvlc, afkc, repc, vigc = text:match('%{.-%}(.-)%[(%d+)%].-%[(%d+).-(%d+)%].-(%d+).-(%d)/')
if namec and idc and lvlc and afkc and repc and vigc then
    table.insert(admins_online, {
        name = namec,
        id = idc,
        level = lvlc,
        afk = afkc,
        rep = repc,
        vig = vigc
    })
end

-- там где рендеришь
for _, admin in ipairs(admins_online) do
    print(admin.name, admin.id, admin.level, admin.afk, admin.rep, admin.vig)
end
работает, но чуть багнутое
1707996643126.png
 

MLycoris

Режим чтения
Проверенный
1,826
1,882
типо рендерит друг на друге?
надо делать так

Lua:
local y = 500
for бла бла
    renderFontdrawText(font, bla-bla, x, y, -1)
    y = y + renderGetFontDrawHeight(font)
end
попробуй так
Lua:
            for k, v in ipairs(таблица с челами) do
                renderFontDrawText(font, текст, posX, posY+k*13, -1)
            end
 

.KOHTOP.

Активный
Автор темы
217
35
типо рендерит друг на друге?
надо делать так

Lua:
local y = 500
for бла бла
    renderFontdrawText(font, bla-bla, x, y, -1)
    y = y + renderGetFontDrawHeight(font)
end
Lua:
[ML] (error) AdminTools: ...zona Games Launcher\moonloader\AdminTools for Anubis.lua:272: attempt to call global 'renderFontdrawText' (a nil value)
stack traceback:
    ...zona Games Launcher\moonloader\AdminTools for Anubis.lua: in function <...zona Games Launcher\moonloader\AdminTools for Anubis.lua:202>
[ML] (error) AdminTools: Script died due to an error. (417D43CC)

------------- C O D E
        for _, admin in ipairs(admins_online) do
            renderFontdrawText(my_font, '{fefe22}' .. admin.name.. '[' .. admin.id .. '] \n', 0, y, -1)
            y = y + renderGetFontDrawHeight(my_font)
        end
 
  • Bug
Реакции: MLycoris

Fott

Простреленный
3,438
2,284
Lua:
[ML] (error) AdminTools: ...zona Games Launcher\moonloader\AdminTools for Anubis.lua:272: attempt to call global 'renderFontdrawText' (a nil value)
stack traceback:
    ...zona Games Launcher\moonloader\AdminTools for Anubis.lua: in function <...zona Games Launcher\moonloader\AdminTools for Anubis.lua:202>
[ML] (error) AdminTools: Script died due to an error. (417D43CC)

------------- C O D E
        for _, admin in ipairs(admins_online) do
            renderFontdrawText(my_font, '{fefe22}' .. admin.name.. '[' .. admin.id .. '] \n', 0, y, -1)
            y = y + renderGetFontDrawHeight(my_font)
        end
название функции нужно писать правильно, а не как тебе угодно. Draw
 

percheklii

Известный
739
275
та вместо 13 юзнуть число побольше и его вариант получше будет, компактнее ж
ну мб потому что нужно изменить коэффициент? у тебя вариант ультра хуйня
зачем ебаться, если функция за тебя все сделает?
 

Rice.

Известный
Модератор
1,698
1,466
зачем ебаться, если функция за тебя все сделает?
зачем создавать костыли и новые переменные, если этого можно не делать?
да и твой метод сложнее для понимания
 

percheklii

Известный
739
275
зачем создавать костыли и новые переменные, если этого можно не делать?
да и твой метод сложнее для понимания
ну хер знает, кому как, мне так удобно, и хера сложнее для понимания?
И причем тут костыли? Пример даже FYP'a, можешь глянуть, использует такой же метод
 

moreveal

Известный
Проверенный
859
539
ну хер знает, кому как, мне так удобно, и хера сложнее для понимания?
И причем тут костыли? Пример даже FYP'a, можешь глянуть, использует такой же метод
ты буквально предложил способ 10+10+10+10 и стал спорить, что он хуже чем 2*4, потому что в примере показали 2, а не 10; и привел даж сравнение глупое; твой способ объективно менее удобен, потому что заставляет выделять переменную, когда под рукой лежит индекс, достаточно кф на твой renderGetFontDrawHeight(font) заменить и они идентичны внешне
 
Последнее редактирование:
  • Bug
Реакции: percheklii