Вопрос Console color print primordial

Searching for myself
Пользователь
Статус
Оффлайн
Регистрация
29 Сен 2021
Сообщения
212
Реакции[?]
69
Поинты[?]
11K
Выводит текст только темно-красным
code_language.lua:
ffi.cdef [[
    typedef struct {
        uint8_t m_uchRed;
        uint8_t m_uchGreen;
        uint8_t m_uchBlue;
        uint8_t m_uchAlpha;
    } Color_t;

    typedef void ( __cdecl* ConsolePrint )( void* pInterface, Color_t&, const char* szText, ... );
]]

--- Print colored text in the game console
---@param pColor table
---@param strText string
function Print( pColor, strText )
    if type( pColor ) ~= 'userdata' then
        return nil
    end
    
    local Interface = ffi.cast( ffi.typeof( 'uintptr_t**' ), memory.create_interface( 'vstdlib.dll', 'VEngineCvar007' ) )
    local ConsolePrint = ffi.cast( 'ConsolePrint', Interface[0][25] )

    ConsolePrint( Interface, pColor, strText )
end

-- Вызываю
ColorPrint( color_t.new( 255, 255, 255, 255 ), 'Test text?\n' )

На выходе получаю такой текст
1661585660863.png
 
Эксперт
Статус
Оффлайн
Регистрация
24 Апр 2018
Сообщения
1,490
Реакции[?]
929
Поинты[?]
67K
code_language.lua:
ffi.cdef [[
    typedef struct {
        uint8_t m_uchRed;
        uint8_t m_uchGreen;
        uint8_t m_uchBlue;
        uint8_t m_uchAlpha;
    } Color_t;

    typedef void ( __cdecl* ConsolePrint )( void* pInterface, Color_t&, const char* szText, ... );
]]

--- Print colored text in the game console
---@param pColor table
---@param strText string

local Color_t = ffi.typeof("Color_t")
function Print( pColor, strText )
    if type( pColor ) ~= 'userdata' then
        return nil
    end
    
    local Interface = ffi.cast( ffi.typeof( 'uintptr_t**' ), memory.create_interface( 'vstdlib.dll', 'VEngineCvar007' ) )
    local ConsolePrint = ffi.cast( 'ConsolePrint', Interface[0][25] )

    ConsolePrint( Interface, pColor, strText )
end

-- Вызываю
ColorPrint( Color_t( 255, 255, 255, 255 ), 'Test text?\n' )
 
Searching for myself
Пользователь
Статус
Оффлайн
Регистрация
29 Сен 2021
Сообщения
212
Реакции[?]
69
Поинты[?]
11K
code_language.lua:
ffi.cdef [[
    typedef struct {
        uint8_t m_uchRed;
        uint8_t m_uchGreen;
        uint8_t m_uchBlue;
        uint8_t m_uchAlpha;
    } Color_t;

    typedef void ( __cdecl* ConsolePrint )( void* pInterface, Color_t&, const char* szText, ... );
]]

--- Print colored text in the game console
---@param pColor table
---@param strText string

local Color_t = ffi.typeof("Color_t")
function Print( pColor, strText )
    if type( pColor ) ~= 'userdata' then
        return nil
    end
  
    local Interface = ffi.cast( ffi.typeof( 'uintptr_t**' ), memory.create_interface( 'vstdlib.dll', 'VEngineCvar007' ) )
    local ConsolePrint = ffi.cast( 'ConsolePrint', Interface[0][25] )

    ConsolePrint( Interface, pColor, strText )
end

-- Вызываю
ColorPrint( Color_t( 255, 255, 255, 255 ), 'Test text?\n' )
А использование
Пожалуйста, авторизуйтесь для просмотра ссылки.
? Upd: Решил
 
Последнее редактирование:
Сверху Снизу