Как сделать это?

RICJS29_JSJA

Участник
Автор темы
111
4
Версия MoonLoader
Другое
К примеру ImBuffer сделал ( редактировать отыгровку )
1712696370440.png

как сделать чтоб когда я писал команду "{name}, {id}" заменяло на Nick, Id?
 
Решение
там же только через str
чиво
1712696796245.png

Lua:
local tags = {
    ['{id}'] = select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)),
    ['{name}'] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
}
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local test_text_buffer = imgui.ImBuffer(256)

function imgui.OnDrawFrame()
    imgui.Begin(u8'Основное окно')
    if imgui.InputText(u8'Вводить текст сюда', test_text_buffer) then
        for tag, value in pairs(tags) do
            test_text_buffer.v = test_text_buffer.v:gsub(tag, value)
        end
    end
    imgui.Text(u8'Введённый текст: ' .. test_text_buffer.v)
    imgui.End()
end

chromiusj

Известный
Модератор
5,661
3,963
там же только через str
чиво
1712696796245.png

Lua:
local tags = {
    ['{id}'] = select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)),
    ['{name}'] = sampGetPlayerNickname(select(2, sampGetPlayerIdByCharHandle(PLAYER_PED)))
}
local imgui = require 'imgui'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local test_text_buffer = imgui.ImBuffer(256)

function imgui.OnDrawFrame()
    imgui.Begin(u8'Основное окно')
    if imgui.InputText(u8'Вводить текст сюда', test_text_buffer) then
        for tag, value in pairs(tags) do
            test_text_buffer.v = test_text_buffer.v:gsub(tag, value)
        end
    end
    imgui.Text(u8'Введённый текст: ' .. test_text_buffer.v)
    imgui.End()
end